1.创建字典
d = {} #空字典 d = {'a':2, 'b':3} #两项字典 print(d) print(d['b'])运行结果:
{'a': 2, 'b': 3} 32.字典嵌套
d = {'a':2, 'b':{'aa':1, 'bb':3}} #字典嵌套 print(d) print(d['b']) print(d['b']['aa'])运行结果:
{'a': 2, 'b': {'aa': 1, 'bb': 3}} {'aa': 1, 'bb': 3} 13.利用fromkeys函数构造字典
#dict.fromkeys(seq[, value]) 函数用于创建一个新字典, #以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值 d = dict.fromkeys(['a', 'b']) print(d) d = dict.fromkeys(['a', 'b'], 10) print(d)运行结果:
{'a': None, 'b': None} {'a': 10, 'b': 10}4.利用zip函数创建字典
#利用zip函数创建字典,dict(zip(keylist,valuelist)) D = dict(zip('abcde','12345')) print(D)运行结果:
{'a': '1', 'b': '2', 'c': '3', 'd': '4', 'e': '5'}5.直接利用键-值创建字典
#直接利用键-值创建字典 D = dict(name='Bob', age='22') print(D)运行结果:
{'name': 'Bob', 'age': '22'}6.以键进行索引
D = dict(name='Bob', family={'dad':'Rouger', 'mon':'Lily'}) print(D) print(D['name']) #以键进行索引 print(D['family']['dad']) #以键进行索引运行结果:
{'name': 'Bob', 'family': {'dad': 'Rouger', 'mon': 'Lily'}} Bob Rouger7.成员关系,键存在测试
D = dict(name='Bob', family={'dad':'Rouger', 'mon':'Lily'}) if 'family' in D: print(D) if 'mon' in D['family']: print(D['family']['mon'])运行结果:
{'name': 'Bob', 'family': {'dad': 'Rouger', 'mon': 'Lily'}} Lily8.字典的键,值
D = dict(name='Bob', family={'dad':'Rouger', 'mon':'Lily'}) L = D.keys() #python3.0中字典的keys,values,items方法返回一个迭代器,可以用for循环遍历 for key in L: print(key) print(list(D.values())) #可以用list方法显示生成一张列表。3.0里支持 print(D.items()) #运行结果可以与前两项对比运行结果:
name family ['Bob', {'dad': 'Rouger', 'mon': 'Lily'}] dict_items([('name', 'Bob'), ('family', {'dad': 'Rouger', 'mon': 'Lily'})])9.创建字典副本
D = dict(name='Bob', family={'dad':'Rouger', 'mon':'Lily'}) D2 = D.copy() print(D2) D2['name'] = 'Hill' print(D) print(D2)运行结果:
{'name': 'Bob', 'family': {'dad': 'Rouger', 'mon': 'Lily'}} {'name': 'Bob', 'family': {'dad': 'Rouger', 'mon': 'Lily'}} {'name': 'Hill', 'family': {'dad': 'Rouger', 'mon': 'Lily'}}10.返回默认值 字典 get() 函数返回指定键的值,如果值不在字典中返回默认值。
D = dict(name='Bob', family={'dad':'Rouger', 'mon':'Lily'}) print(D.get('n1', 'None'))运行结果
None11.合并
D1 = dict(a=1,b=2) D2 = dict(c=3,d=4) print(D1) print(D2) D1.update(D2) print(D1)运行结果:
{'a': 1, 'b': 2} {'c': 3, 'd': 4} {'a': 1, 'b': 2, 'c': 3, 'd': 4}12.pop删除字典键值
d = dict(a=1,b=2,c=3,d=4) val = d.pop('a') print('val={}, d={}'.format(val,d)) val2 = d.pop('r','del fail') #删除失败,返回默认值,pop(key[,default]) print('val2={}, d={}'.format(val2,d))运行结果:
val=1, d={'b': 2, 'c': 3, 'd': 4} val2=del fail, d={'b': 2, 'c': 3, 'd': 4}13.获取字典元素个数
d = dict(a=1,b=2,c=3,d=4) val = len(d) print('val={}, d={}'.format(val,d))运行结果:
val=4, d={'a': 1, 'b': 2, 'c': 3, 'd': 4}14根据键删除字典元素
d = dict(a=1,b=2,c=3,d=4) del d['a'] print('d={}'.format(d))运行结果:
d={'b': 2, 'c': 3, 'd': 4}15.字典解析
d = {x: x*2 for x in range(10)} print('d={}'.format(d))运行结果:
d={0: 0, 1: 2, 2: 4, 3: 6, 4: 8, 5: 10, 6: 12, 7: 14, 8: 16, 9: 18}