字典 dict 是可迭代的、可变的数据结构,通过键来访问元素,字典结构比较复杂,有两部分组成。一个是键 key 视图 ,另外一个是 值 value 视图,key不能重复,键值是成对出现的。
创建字典
可以使用 dict() 函数,或者大括号 {} 里面放键值对,用逗号隔开
d1 = {1: '是',2: '按',45:'的'}
len(d1) 值:3
d2 = {}
dict({1: '是',2: '按',45:'的'})
dict(((1: '是'),(2: '按'),(45:'的')))
dict([(1: '是'),(2: '按'),(45:'的')])
t1 = (102,'a')
t2 = (103,'b')
t3 = (104,'a')
t = (t1,t2,t3)
dict(t)
dict(zip([1,2,3],['1','2','3']))
dict(s102 = 'aa',S103='aa')
修改字典
字典可以被修改,但都是争对键和值同时操作,修改字典包括 添加、替换、删除
d1[1]
d1[21] = 'ss'
d1[1] = 'kk'
del d1[2]
d1.pop(45) 返回删除的值
d1.pop(3,'a') 删除的不存在默认返回 a
d1.popitem(1,'kk') 返回键值对
访问字典
get(key[,default]):通过键返回值,如果不存在的返回默认值
items() : 返回字典的所有键值对
keys() : 返回字典键视图
values() : 返回字典值视图
d = {1: '是',2: '按',45:'的'}
d.get(1)
d.get(0) 没有返回值
d.get(0,'aa') 没有0,默认返回 aa
d.items()
d.keys()
d.values()
在字典访问,可以用 in 和 not in,但是只争对 key
1 in d 返回 True
'是' in d 返回 False
遍历字典
for id in d.keys():
print(id)
for name in d.values():
print(name)
for id, name in d.items():
print('{0} - {1}'.format(id, name))
字典推导式
d = {'one':1,'two':2,'three':3,'four':4}
f = {k: v for k,v in d.items() if v % 2 == 0}
keys = {k for k,v in d.items() if v % 2 == 0}