Python3字典操作详解 Python3字典操作大全
Posted skings
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python3字典操作详解 Python3字典操作大全相关的知识,希望对你有一定的参考价值。
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 #Author:sking 4 #Python3字典操作详解 Python3字典操作大全 5 6 #字典是无序的(因为它没有下标),key必须是唯一的 7 #字典是可变的,可以修改和添加 8 #创建字典 9 info = {‘haha‘:12,‘heihei‘:13,‘wowo‘:45} 10 #查找字典的值value 11 #方法1 12 print(info[‘heihei‘]) #13 此方法必须确定字典中存在此key否则会报错 13 #方法2 推荐使用 14 print(info.get(‘heihei‘)) #13 当字典中没有此key时,会返回None 15 #修改字典 16 info[‘wowo‘] = 14 17 print(info) #{‘haha‘: 12, ‘heihei‘: 13, ‘wowo‘: 14} 18 #添加字典元素 19 info[‘loulou‘] = 15 20 print(info) #{‘haha‘: 12, ‘heihei‘: 13, ‘wowo‘: 14, ‘loulou‘: 15} 21 #删除字典元素 22 #方法1 23 del info[‘haha‘] 24 print(info) #{‘heihei‘: 13, ‘wowo‘: 14, ‘loulou‘: 15} 25 #方法2 26 a = info.pop(‘heihei‘) 27 print(a) #13 pop删除字典的同时会返回该key对应的值 28 print(info) #{‘wowo‘: 14, ‘loulou‘: 15} 29 #方法3 30 b = info.popitem() #随机删除一个字典元素 31 print(b) #(‘loulou‘, 15) popitem删除字典的同时会以元组的形式返回该元素的key和value 32 print(info) #{‘wowo‘: 14} 33 #删除整个字典 34 #del info 35 #print(info) #NameError: name ‘info‘ is not defined 36 info = {‘haha‘:12,‘heihei‘:13,‘wowo‘:45} 37 #判断某个key是不是在这个字典里 38 print(‘wahaha‘ in info) #False 39 print(‘haha‘ in info) #True 40 41 #多级字典的嵌套和操作 42 book = { 43 ‘中国‘:{‘a‘:[‘好‘,‘不好‘],‘b‘:[‘好‘,‘不好‘]}, 44 ‘美国‘:{‘c‘:[‘好‘,‘不好‘], ‘d‘:[‘好‘,‘不好‘]}, 45 ‘日本‘:{‘e‘:[‘好‘,‘不好‘]} 46 } 47 print(book) 48 #修改多级字典的value 49 book[‘中国‘][‘b‘][0] = ‘ok‘ 50 print(book) 51 print(‘+_+_+_+_+_+_+_+_+_+_+_+_+_+_+‘) 52 info = {‘haha‘:12,‘heihei‘:13,‘wowo‘:45} 53 print(info.values()) #dict_values([12, 13, 45]) 打印字典的所有值value 54 print(info.keys()) #dict_keys([‘haha‘, ‘heihei‘, ‘wowo‘]) 打印字典的所有键key 55 print(list(info.values())) #[12, 13, 45] 将字典所有的value转成list 56 print(list(info.keys())) #[‘haha‘, ‘heihei‘, ‘wowo‘] 将字典所有的key转成list 57 print(info.setdefault(‘ww‘,78)) #78 58 print(info) #{‘haha‘: 12, ‘heihei‘: 13, ‘wowo‘: 45, ‘ww‘: 78} 增加一个‘ww‘: 78 字典对象 59 print(info.setdefault(‘haha‘, 34)) #12 60 print(info) #{‘haha‘: 12, ‘heihei‘: 13, ‘wowo‘: 45, ‘ww‘: 78} 61 #‘haha‘的value并没有改成34 62 # Python 字典 setdefault() 方法和 get() 方法类似,返回指定键的值, 63 # 如果键不在字典中,将会添加键并将值设置为一个指定值,默认为None。 64 # get() 和 setdefault() 区别: setdefault() 返回的键如果不在字典中, 65 # 会添加键(更新字典),而 get() 不会添加键。 66 print(‘+++++++++++++================-‘) 67 info = {‘haha‘:12,‘heihei‘:13,‘wowo‘:45} 68 b = {‘ss‘:99, ‘haha‘:88} 69 info.update(b) #没有返回值 70 print(info) #{‘haha‘: 88, ‘heihei‘: 13, ‘wowo‘: 45, ‘ss‘: 99} update()方法合并两个字典,并修改/增加字典对象 71 print(info.items()) #dict_items([(‘haha‘, 88), (‘heihei‘, 13), (‘wowo‘, 45), (‘ss‘, 99)]) 72 #返回字典所有的key和value 73 print(list(info.items())) #[(‘haha‘, 88), (‘heihei‘, 13), (‘wowo‘, 45), (‘ss‘, 99)] 74 75 #字典的循环 76 info = {‘haha‘:12,‘heihei‘:13,‘wowo‘:45} 77 #方法1(推荐使用) 78 for i in info: 79 print(i, info[i]) #方法1 效率比较高,因为它是直接通过key找过val 80 81 """ 82 haha 12 83 heihei 13 84 wowo 45 85 """ 86 #方法2 87 for key,val in info.items(): #效率没有方法高,因为它需要把字典转成列表 88 print(key, val) 89 """ 90 haha 12 91 heihei 13 92 wowo 45 93 """
以上是关于Python3字典操作详解 Python3字典操作大全的主要内容,如果未能解决你的问题,请参考以下文章