失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 潭州教育-Python学习笔记@基本数据类型:元祖字典

潭州教育-Python学习笔记@基本数据类型:元祖字典

时间:2019-03-02 19:59:46

相关推荐

潭州教育-Python学习笔记@基本数据类型:元祖字典

Python基本数据还有元祖和字典

元祖(tuple)是Python的基本数据类型,用()表示,元素之间用‘,’隔开,元祖一旦创建,就不能改变

In [45]: s = ('Stone','Stone','Cathy') ###元祖可以有重复元素In [46]: sOut[46]: ('Stone', 'Stone', 'Cathy')In [47]: s.count('Stone') ## 元素计数Out[47]: 2In [48]: s.count('S') ###没有的话返回0Out[48]: 0In [49]: s.index('Stone') ##查找索引Out[49]: 0In [50]: s.index('Stone',1) Out[50]: 1

字典(dict)由键值对组成的数据类型,相比较与其他数据类型,字典查找速度快。字典默认没有排序(不需要排序),根据key查找value。

字典list

-查找和插入非常快,不会随着key的增加而增加查找和插入的时间随元素的增加而增加

-需要占用大量的内存,内存浪费多 占用空间少,浪费内存少

-key不可变 通过下表查询

-默认无序 有序

In [74]: ditOut[74]: {'age': 18, 'marry': 'no', 'work': 'yes'}#增#1

In [75]: dit['book'] = 'note' ##增加元素In [76]: ditOut[76]: {'age': 18, 'book': 'note', 'marry': 'no', 'work': 'yes'}

#2In [77]: dit.update({'Station':'quanta'}) ### 更新一个字典类型In [78]: ditOut[78]: {'Station': 'quanta', 'age': 18, 'book': 'note', 'marry': 'no', 'work': 'yes'}

##3生成一个字典

In [90]: dit.fromkeys([1,2,2,3,4],3) ## 传入一个可迭代对象,生成一个字典Out[90]: {1: 3, 2: 3, 3: 3, 4: 3}

#减In [81]: dit.pop('Station') ##删掉一个元素,返回元素的值Out[81]: 'quanta'In [82]: dit.popitem() ## 删掉一个键值对,以元祖形式返回删掉的键值对Out[82]: ('work', 'yes')In [79]: dit.clear() ##清空字典#元素值In [84]: dit.items() ##返回一个类似集合类型的对象,一般用于对字典键或者值的遍历Out[84]: dict_items([('age', 18), ('book', 'note'), ('marry', 'no')])In [86]: dit.values()Out[86]: dict_values([18, 'note', 'no'])

#a set-like object providing a view on D's keysIn [87]: dit.keys()Out[87]: dict_keys(['age', 'book', 'marry'])

In [91]: dit.get('age') ###判断元素是否存在,不存在不报错,会返回None。Out[91]: 18

#其他In [89]: dit.copy() ##拷贝Out[89]: {'age': 18, 'book': 'note', 'marry': 'no'}

#补充:In [107]: ditOut[107]: {'age': 18, 'book': 'note', 'books': 45, 'marry': 'no'}In [108]: dit.setdefault('books',45) ##字典中有这个元素,则返回这个元素,字典不变Out[108]: 45In [109]: ditOut[109]: {'age': 18, 'book': 'note', 'books': 45, 'marry': 'no'}In [110]: dit.setdefault('name','Stone') ##字典没有这个元素,返回设置的值,字典相应增加Out[110]: 'Stone'In [111]: ditOut[111]: {'age': 18, 'book': 'note', 'books': 45, 'marry': 'no', 'name': 'Stone'}

字典遍历:

for i in dit: ## 效率高

print i ,dit[i]

for k,v in dit.items(): ##效率低

print k ,v

集合(set)

特点:

-无序

-元素不重复

功能:

-关系测试

-去重

###序列操作In [117]: lst = [1,2,3,4,5,5,6,7,7,7,8]In [118]: lst = set(lst)In [119]: lst,type(lst)Out[119]: ({1, 2, 3, 4, 5, 6, 7, 8}, set)In [120]: lst.add(9)In [121]: lstOut[121]: {1, 2, 3, 4, 5, 6, 7, 8, 9}In [122]: lst.remove(8)In [123]: lst.pop()Out[123]: 1In [124]: lst.copy()Out[124]: {2, 3, 4, 5, 6, 7, 9}

###关系操作In [126]: x = {1,2,3,4}In [127]: y = {3,4,5,6}In [130]: x & y ##交集 == x.intersection(y)Out[130]: {3, 4}##注意:并集不能用and In [129]: x and yOut[129]: {3, 4, 5, 6}In [131]: x | y ##并集 == x.union(y)Out[131]: {1, 2, 3, 4, 5, 6}In [132]: x - y ##差集 == x.difference(y)Out[132]: {1, 2}In [133]: x ^ y ##对称差集 ==x.symmetric_difference(y)Out[133]: {1, 2, 5, 6}##判断In [140]: x.issubset(y) #x 是y 的子集Out[140]: FalseIn [141]: x.issuperset(y) ##x 是否包含yOut[141]: False

如果觉得《潭州教育-Python学习笔记@基本数据类型:元祖字典》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。