Python字典和集合
2016-06-14 21:39
417 查看
判断字典的元素
使用in 或者not in 和has_key()函数来判断
更新字典
删除字典和字典元素
dict.pop(‘key’)和del dict[‘key’]删除指定字典条目
dict.clear()是删除dict的所有条目
del dict是删除整个字典
比较字典长度
比较字典的键(先比较第一个)
比较键的值
dict()
映射类型的内建方法
集合类型
集合和其他容器差不多,支持用in和not in判断集合里的元素
可以用len()获得集合的基数
因为集合是无序的 所以不能用索引和切片操作,也没有keys
但可以for用循环迭代
集合类型还分可变集合和不可变集合(frozenset)
访问集合的值
更新集合值
不可变集合不能更新
集合的操作符
联合(|)
表示把两个集合联合在一起
交集(&)
两个集合中有相同的元素
差集/补集(-)
元素只属于第一个集合不属于第二个集合
对称差分(^)
显示只属于第一个元素不属于第二个元素和只属于第二个元素不属于第一个元素
集合的内建方法
s.issubset(s1) 如果s是s2的子集,则返回True,否则返回False
s.issuperset(s1) 如果s是s2的超集,则返回True,否则返回False
s.copy() 对s进行浅复制
使用in 或者not in 和has_key()函数来判断
>>> Dict={'one':1,'tow':2} >>> 'one' in Dict True >>> Dict.has_key('one') True >>> 'one' not in Dict False
更新字典
>>> Dict['one']=11 >>> Dict['three']=33 >>> Dict {'three': 33, 'tow': 2, 'one': 11}
删除字典和字典元素
>>> Dict.pop('one') 11 >>> Dict {'three': 33, 'tow': 2} >>> del Dict['tow'] >>> Dict {'three': 33} >>> Dict['one']=11 >>> Dict.clear() >>> Dict {} >>> del Dict >>> Dict Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'Dict' is not defined
dict.pop(‘key’)和del dict[‘key’]删除指定字典条目
dict.clear()是删除dict的所有条目
del dict是删除整个字典
注意:请不要用 dict, list,file, bool, str, input, len 这样的内建类型为变量命名
字典的比较比较字典长度
比较字典的键(先比较第一个)
比较键的值
dict()
>>> List=['a','b','c','d'] >>> Dict=dict(zip(List,range(4))) >>> Dict {'a': 0, 'c': 2, 'b': 1, 'd': 3} >>> dict(x=1,y=2) {'y': 2, 'x': 1}
映射类型的内建方法
函数 | 说明 |
---|---|
dict.keys() | 返回字典的所有键 |
dict.values() | 返回字典的所有键的值 |
dict.items() | 以元组的形式返回字典的所有的键和值 |
dict.copy() | 对字典进行浅复制 |
dict.fromkeys(seq,val=None) | 创建字典,以seq元素为key,val为字典的所有值 |
dict.get(key,default=None) | 返回字典key对应的值,如果没有返回default的值 |
dict.setdefault(key,default=None) | 返回字典key字典对应值,如果没有key就创建一个新的key |
dict.update(Dict) | 将Dict的key-values添加到dict里 |
>>> Dict {'a': 0, 'c': 2, 'b': 1, 'd': 3} >>> Dict.keys() ['a', 'c', 'b', 'd'] ######## >>> Dict.values() [0, 2, 1, 3] ####### >>> Dict.items() [('a', 0), ('c', 2), ('b', 1), ('d', 3)] ###### >>> D=dict.copy(Dict) [('a', 0), ('c', 2), ('b', 1), ('d', 3)] ###### >>> dict.fromkeys('abc') {'a': None, 'c': None, 'b': None} ######### >>> dict.fromkeys(D) {'a': None, 'c': None, 'b': None, 'd': None} ############## >>> Dict.get('a',123) 0 >>> Dict.get('l',123) 123 {'a': 0, 'c': 2, 'b': 1, 'd': 3,'l':123} ##################< 4000 /span> >>> D.setdefault('l',6) 6 >>> D {'a': 0, 'c': 2, 'b': 1, 'd': 3, 'l': 6} ################# >>> D2 {'test': 666} >>> Dict.update(D2) >>> Dict {'a': 0, 'test': 666, 'c': 2, 'b': 1, 'd': 3}
集合类型
集合和其他容器差不多,支持用in和not in判断集合里的元素
可以用len()获得集合的基数
因为集合是无序的 所以不能用索引和切片操作,也没有keys
但可以for用循环迭代
集合类型还分可变集合和不可变集合(frozenset)
>>> s1=set('lockeroots') >>> s1 set(['c', 'e', 'k', 'l', 'o', 's', 'r', 't']) >>> s2=frozenset('lockeroots') >>> s2 frozenset(['c', 'e', 'k', 'l', 'o', 's', 'r', 't'])
访问集合的值
>>> for i in s1: ... print i ... c e k l o s r t >>> 'l' in s1 True >>> 'd' in s1 False
更新集合值
不可变集合不能更新
>>> s1.add('d') >>> 'd' in s1 True >>> s1.update('abc') >>> s1 set(['a', 'c', 'b', 'e', 'd', 'k', 'l', 'o', 's', 'r', 't']) >>> s1.remove('a') >>> s1 set(['c', 'b', 'e', 'd', 'k', 'l', 'o', 's', 'r', 't'])
集合的操作符
联合(|)
表示把两个集合联合在一起
交集(&)
两个集合中有相同的元素
差集/补集(-)
元素只属于第一个集合不属于第二个集合
对称差分(^)
显示只属于第一个元素不属于第二个元素和只属于第二个元素不属于第一个元素
>>> s1=set('abcdefg') >>> s2=set('efghijk') >>> s1|s2 set(['a', 'c', 'b', 'e', 'd', 'g', 'f', 'i', 'h', 'k', 'j']) >>> s1&s2 set(['e', 'g', 'f']) >>> s1-s2 set(['a', 'c', 'b', 'd']) >>> s1^s2 set(['a', 'c', 'b', 'd', 'i', 'h', 'k', 'j'])
集合的内建方法
s.issubset(s1) 如果s是s2的子集,则返回True,否则返回False
s.issuperset(s1) 如果s是s2的超集,则返回True,否则返回False
s.copy() 对s进行浅复制
>>> s=s1|s2 >>> s set(['a', 'c', 'b', 'e', 'd', 'g', 'f', 'i', 'h', 'k', 'j']) >>> s.issubset(s1) False >>> s.issuperset(s1) True >>> s1.union(s2) set(['a', 'c', 'b', 'e', 'd', 'g', 'f', 'i', 'h', 'k', 'j']) >>> s1.intersection(s2) set(['e', 'g', 'f']) >>> s3=s1.copy() >>> s3 set(['a', 'c', 'b', 'e', 'd', 'g', 'f'])
相关文章推荐
- Python动态类型的学习---引用的理解
- Python3写爬虫(四)多线程实现数据爬取
- 垃圾邮件过滤器 python简单实现
- 下载并遍历 names.txt 文件,输出长度最长的回文人名。
- install and upgrade scrapy
- Scrapy的架构介绍
- Centos6 编译安装Python
- 使用Python生成Excel格式的图片
- 让Python文件也可以当bat文件运行
- [Python]推算数独
- Python中zip()函数用法举例
- Python中map()函数浅析
- Python将excel导入到mysql中
- Python在CAM软件Genesis2000中的应用
- 使用Shiboken为C++和Qt库创建Python绑定
- FREEBASIC 编译可被python调用的dll函数示例
- Python 七步捉虫法