20_Python字典总结
字典:
python内置了字典:dic全称dictionary。其他语言中成为map,使用key-value的存储,键-值。具有极快的查找速度
类似与我们查字典,我们要查一个字
1.从第一页往后翻,知道翻到想要的字为止
2.在索引表查对应的码页,然后直接翻到那一页,找到这个字,不会随着字典大小的增加而变慢。
1 #字典总复习 2 3 ''' 4 python内置了字典:dic全称dictionary。其他语言中成为map,使用key-value的存储,键-值。具有极快的查找速度 5 类似与我们查字典,我们要查一个字 6 1.从第一页往后翻,知道翻到想要的字为止 7 2.在索引表查对应的码页,然后直接翻到那一页,找到这个字,不会随着字典大小的增加而变慢。 8 ''' 9 dic = {'name':'zhangsan'} 10 11 12 #字典的增 13 ##1.通过key增加。如果不存在就添加, 如果存在就覆盖 14 dic['age'] = 20 #如果此键不存在则添加 15 print(dic) #{'name': 'zhangsan', 'age': 20} 16 17 dic['age'] = 22 #如果此键存在,则覆盖 18 print(dic) #{'name': 'zhangsan', 'age': 22} 19 20 ##2.setdefault 如果存在,无操作,如果不存在就添加 21 dic.setdefault('hobby') 22 print(dic) #{'name': 'zhangsan', 'age': 22, 'hobby': None} 23 dic.setdefault('hobby','篮球') 24 print(dic) #{'name': 'zhangsan', 'age': 22, 'hobby': None} hobby已经存在,所以不操作 25 26 dic.setdefault('home','中国') 27 print(dic) #{'name': 'zhangsan', 'age': 22, 'hobby': None, 'home': '中国'} 28 29 30 #字典的删操作 31 ###按元素删除 32 dic.pop('hobby') 33 print(dic) #{'name': 'zhangsan', 'age': 22, 'home': '中国'} 34 dic.pop('xx') 35 print(dic) #KeyError: 'xx' 如果删除不存在的键,将会报错,但是pop给我们提供了容错机制 36 ret = dic.pop('xx','没有此键') 37 print(ret) #没有此键 38 39 ###按索引删 40 dic.popitem() #随机删除某个元素 41 print(dic) #{'name': 'zhangsan', 'age': 22} 42 43 #字典的改 44 ###按key改,如果key不存在,则添加 45 dic['age'] = 33 46 print(dic) #{'name': 'zhangsan', 'age': 33} 47 48 dic.update({'hobby':'computer'})#如果键不存在,则添加 49 print(dic) #{'name': 'zhangsan', 'age': 33, 'hobby': 'computer'} 50 51 dic.update({'hobby':'progrem'})#如果键存在,则修改 52 print(dic) #{'name': 'zhangsan', 'age': 33, 'hobby': 'progrem'} 53 54 #字典的删 55 ###清空一个字典 56 dic.clear() 57 print(dic) #{} 58 59 ###删除一个键值对 60 del dic['hobby'] 61 print(dic) #{'name': 'zhangsan', 'age': 33} 62 63 ###删除一个字典 64 del dic 65 print(dic) #NameError: name 'dic' is not defined 66 67 #字典的查 68 ###按key查 69 print(dic['hobby']) #progrem 70 71 ##按key查,查不到,返回提示信息 72 ret = dic.get('xxx','没有此键') 73 print(ret) #没有此键 74 75 ##遍历所有的key 76 for i in dic: 77 print(i) 78 for i in dic.keys(): 79 print(i) 80 ##遍历所有的value 81 for i in dic: 82 print(dic[i]) 83 for i in dic.values(): 84 print(i) 85 86 ##遍历所有的键值 87 for k,v in dic: 88 print(k,dic[k])