python中字典的增删改查及相关知识点

  1 '''
  2     数据划分:可变数据类型,不可变数据类型
  3     不可变数据类型:tuple,str,bool,int     可哈希
  4     可变数据类型: list, dict, set          不可哈希
  5     dict key:必须是不可变数据类型       可哈希
  6     dict value:  任意数据类型
  7     dict 优点:二分法去查找
  8                存储大量关系型数据
  9         特点: 无序的
 10 '''
 11 
 12 #》》》增
 13 
 14 #使用key增加,类似于list的索引改变值
 15 #但是list中的索引必须在范围内,dict不同
 16 
 17 dic1 = {
 18     'name' : 'python',
 19     'age' : '1981',
 20     'sex' : 'male'
 21 }
 22 dic1['sex'] = 'men'     #如果有键值则覆盖,如果没有键值则添加
 23 print(dic1)     #输出结果:{'name': 'python', 'age': '1981', 'sex': 'men'}
 24 
 25 
 26 dic1 = {
 27     'name' : 'python',
 28     'age' : '1981',
 29     'sex' : 'male'
 30 }
 31 dic1.setdefault('name','c')     #有键值不做任何改变,没有键值才添加
 32 dic1.setdefault('name1','java')     #无论有无键值,返回值为待添加的后面的键值
 33 print(dic1)                      #输出结果:{'name': 'python', 'age': '1981', 'sex': 'male', 'name1': 'java'}
 34 
 35 #
 36 
 37 #pop()方法
 38 dic1 = {
 39     'name' : 'python',
 40     'age' : '1981',
 41     'sex' : 'male'
 42 }
 43 dic1.pop('name')   #有这个键的话则默认返回值为键值‘python’
 44 print(dic1)        #输出结果:{'age': '1981', 'sex': 'male'}
 45 print(dic1.pop('name','没有这个'))    #如果没有需要删除的键,默认返回None,也可自定义  输出结果:没有这个
 46 
 47 #popitem() 随机删除一个键值对
 48 dic1 = {
 49     'name' : 'python',
 50     'age' : '1981',
 51     'sex' : 'male'
 52 }
 53 print(dic1.popitem())    #返回值为一个删除的键值对的元祖 输出结果:('sex', 'male')
 54 print(dic1)      #输出结果:{'name': 'python', 'age': '1981'}
 55 
 56 #clear()  清空字典,同list的clear差不多
 57 dic1 = {
 58     'name' : 'python',
 59     'age' : '1981',
 60     'sex' : 'male'
 61 }
 62 print(dic1.clear())   #输出结果:None
 63 print(dic1)           #输出结果:{}
 64 
 65 
 66 ###》》》》改
 67 
 68 #利用键值对修改,有键则覆盖,无键则添加
 69 
 70 #update     只可意会不可言传
 71 dic1 = {
 72     'name' : 'python',
 73     'age' : '1981',
 74     'sex' : 'male'
 75 }
 76 dic2 = {
 77     'name' : 'java',
 78     'hobby' : 'coding'
 79 }
 80 
 81 print(dic2.update(dic1))        #输出结果:None
 82 print(dic1)                 #输出结果:{'name': 'python', 'age': '1981', 'sex': 'male'}
 83 print(dic2)              #输出结果:{'name': 'python', 'hobby': 'coding', 'age': '1981', 'sex': 'male'}
 84 
 85 ##查
 86 
 87 dic1 = {
 88     'name' : 'python',
 89     'age' : '1981',
 90     'sex' : 'male'
 91 }
 92 print(dic1.keys())        #输出结果:dict_keys(['name', 'age', 'sex'])
 93 print(dic1.values())        #输出结果:dict_values(['python', '1981', 'male'])
 94 print(dic1.items())     #输出结果:dict_items([('name', 'python'), ('age', '1981'), ('sex', 'male')])
 95 
 96 #  get方法
 97 
 98 dic1 = {
 99     'name' : 'python',
100     'age' : '1981',
101     'sex' : 'male'
102 }
103 print(dic1.get('name','没有这个键'))      #输出结果:python
104 print(dic1.get('name1','没有这个键'))       #输出结果:没有这个键
105 
106 #小知识点
107 
108 #》》》1《《《
109 a, b = (1, 2)
110 print(a,b)          #输出结果:1 2
111 
112 #》》》2《《《
113 
114 dic1 = {
115     'name' : 'python',
116     'age' : '1981',
117     'sex' : 'male'
118 }
119 
120 for k, v in dic1.items():
121     print(k,v)          #输出结果:name python
122                         #         age 1981
123                         #         sex male

猜你喜欢

转载自www.cnblogs.com/rcat/p/9278991.html