字典常用操作
Posted __S k y L a r k
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字典常用操作相关的知识,希望对你有一定的参考价值。
‘‘‘字典的方法 d1.get() d1.setdefault() d1.pop() d1.popitem() d1.copy() d1.update() d1.items() d1.keys() d1.values() d1.fromkeys() d1.clear() ‘‘‘ # 创建 d1 = {‘name‘: 99, 3: ‘z‘, ‘l‘: [1, 2]} print(d1) d2 = dict(name=99, l=‘z‘, m=[2, 4]) # 这种创建字典的方式一般key为字符串,value为数字的时候使用 print(d2) d3 = dict(([‘age‘, 18], [0, 99], [‘l‘, [‘3‘, 2]], [3, 5])) print(d3) d4 = dict([[‘age‘, 18], [0, 99], [‘l‘, [‘3‘, 2]], [3, 5]]) # 如左边所示,创建字典都可以这样 print(d4) # 不过大家一般使用([( , )( , )]) d5 = dict([(‘age‘, 18), (0, 99), (‘l‘, [‘3‘, 2]), (3, 5)]) # 这种方式来创建字典比较规范 print(d5) d5[0] = 33 # 不会因为创建时用的是元组所以没法更改value print(d5) print(‘删除‘) # 删除 d5.clear() print(d5) # clear() 清空操作 # del d5 # 删除操作 # print(d5) # del(d4) # 删除可以使用del(**)或者 del ** # print(d4) del d1[‘l‘] # 这两个是删除具体的键值对的,参数是key del(d1[‘name‘]) print(d1) d1.pop(3) # 必须写入要删除的key值,这样才能删除对应键值对 print(d1) print(d2) r = d2.popitem() # popitem() 直接删除最后一个键值对,并且返回删除的键值对 print(r) print(d2) s1, s2 = d2.popitem() print(s1) print(s2) print(‘修改:‘) # 修改 d1[3] = ‘不是z‘ # 直接用下标改值就行 d1[‘name‘] = ‘刚加的‘ # 如果字典不存在这个key则直接添加进去 print(d1) d1.update(([(‘sex‘, 12), [‘age‘, 18]])) print(d1) print(d2) # update( )里面参数一般使用([( , )( , )])来添加,元组里面也可以是列表嵌套,不过这个最规范 d1.update(d2) # 或者update( )里面可以放进别的字典作为参数 print(d1) # 修改方法是把没有的键值对放进去,如果有存在的key,则对比value # 如果value不一样,则把新的(参数)value更新进去 print(‘查找‘) # 查找 n = d1.get(‘不是z‘, d1) # get(要查找的key,没找到返回的值),如果找到了则返回对应的value n1 = d1.get(‘name‘) # 如果没有找到则返回第二个参数的值,类型应该是任意类型,如左边就返回了一个字典 print(n) print(n1) n3 = d1.setdefault(‘不是z‘, d2) # 跟get()用法类似,只不过它在没有找到的时候不仅仅返回第二个参数 print(n3) # setdefault()还把没有查找到的key添加进去了,第二个参数作为value print(d1) print(‘操作‘) # 操作 print(d2) k = d2.keys() # 取字典中的key v = d2.values() # 取字典中的value it = d2.items() # 取字典中的键值对 print(k) print(v) print(it) d6 = dict.fromkeys(‘hello‘, 22) # fromkeys(可迭代的序列,值)拆分每个可迭代的序列,每个元素作为一个key print(d6) # 第二个参数作为每一个元素的value,构成字典 # 遍历 # for k in d2: # print(k) print(d2) print(‘打印枚举序列‘) for k, v in enumerate(d2): # 只要涉及enumerate的时候就必然包括序号和对应的值,字典中对应的是key print(k) # 别的基本都是下标所对应的 print(v) print(‘打印key‘) for k in d2.keys(): print(k) print(‘打印value‘) for v in d2.values(): print(v) print(‘打印键值对‘) for i in d2.items(): print(i) print(‘对键值对拆包‘) for key, value in d2.items(): print(key) print(value) # 1: 1 ,2: 4 3:9 dict1 = {i: i ** 2 for i in range(10)} # 列表推导式 print(dict1) # 合并两个列表为字典 list1 = [‘name‘, ‘age‘, ‘sex‘] list2 = [‘gui‘, 30, ‘man‘] dict2 = {list1[i]: list2[i] for i in range(len(list1))} print(dict2) # 字典键值对互换 d33 = {‘name‘: 99, 3: ‘z‘, ‘l‘: ‘L‘} d22 = dict() for k, v in d33.items(): d22[v] = k print(d33) print(d22)
以上是关于字典常用操作的主要内容,如果未能解决你的问题,请参考以下文章