dict 字典的常用操作

时间:2023-03-09 02:19:40
dict 字典的常用操作
 #dict 字典的常用操作:

 id_db.get() #获取
id_db.update() #更新(覆盖)字典
id_db.values() #打印字典里所有的values
id_db.keys() #打印字典里所有的keys
(130627199708050613 in id_db) #判断在这个字典里是否包含一个keys
setdefault() #取一个key,如果不存在,就设置(添加)一个值
fromkeys() #把列表每个元素取出来,把它当做一个key存到字典里,并且对应的values是后边的hahahah。
str() #函数将值转化为适于人阅读的形式,以可打印的字符串表示 ;将一个数字转成字符串
  
id_db = {
130627199708050613:{ #:前边的值叫key,后边的值叫value , 字典是key-value结构,key必须是唯一的,所以字典具备自动去重的功能,
"addr":"河北保定", #字典内可以嵌套字典 addr是key,后边的河北保定就是value;可以写很多个元素,每个元素之间用逗号区分
"name":"张江华",
"age":21
}, 131627199708050613:{
"addr":"河北保定唐县",
"name":"张亮",
"age":22
}, 132627199708050613:{
"addr":"河北承德",
"name":"XXX",
"age":23
}, }
print (id_db)
print (id_db[130627199708050613])
id_db[130627199708050613]['addr'] = '河北保定唐县' #修改字典内的某个元素
id_db[130627199708050613]['sex'] = '男' #字典内添加一个元素
print (id_db[130627199708050613])
del id_db[130627199708050613]['name'] #删除字典内的某个元素 或者用id_db[130627199708050613].pop('name') 也可以删除
print (id_db[130627199708050613]) #执行结果:
{130627199708050613: {'addr': '河北保定', 'name': '张江华', 'age': 21}, 131627199708050613: {'addr': '河北保定唐县', 'name': '张亮', 'age': 22}, 132627199708050613: {'addr': '河北承德', 'name': 'XXX', 'age': 23}}
{'addr': '河北保定', 'name': '张江华', 'age': 21}
{'addr': '河北保定唐县', 'name': '张江华', 'age': 21, 'sex': '男'}
{'addr': '河北保定唐县', 'age': 21, 'sex': '男'} ######################----------------------############################# #id_db.get() 获取
x = id_db.get(130627199708050613)
print (x)
x = id_db.get(230627199708050613) # id_db.get()这种方式如果list里的key不存在,会返回None,程序不会中断
print (x)
x = id_db[130627199708050613] #这种方式如果list里的key不存在,就会报错,导致程序中断
print (x) {'addr': '河北保定', 'name': '张江华', 'age': 21}
None
{'addr': '河北保定', 'name': '张江华', 'age': 21} ######################----------------------############################# #id_db.update() 更新(覆盖)字典
dict2 = {
'name': 'cccccc', #id_db.update 更新字典,添加一个元素
130627199708050613:{
"name":'JIANGHUA', #如果添加的元素中key是重复的,那么他会完全覆盖之前的元素
}, }
id_db.update(dict2)
print (id_db)
#执行结果:
{130627199708050613: {'name': 'JIANGHUA'}, 131627199708050613: {'addr': '河北保定唐县', 'name': '张亮', 'age': 22}, 132627199708050613: {'addr': '河北承德', 'name': 'XXX', 'age': 23}, 'name': 'cccccc'} ######################----------------------############################# #id_db.values() 打印字典里所有的values
print(id_db.values())
#执行结果:
dict_values([{'addr': '河北保定', 'name': '张江华', 'age': 21}, {'addr': '河北保定唐县', 'name': '张亮', 'age': 22}, {'addr': '河北承德', 'name': 'XXX', 'age': 23}]) ######################----------------------############################# #id_db.keys() 打印字典里所有的keys
print(id_db.keys())
#执行结果:
dict_keys([130627199708050613, 131627199708050613, 132627199708050613]) ######################----------------------############################# #判断在这个字典里是否包含一个keys
print (130627199708050613 in id_db)
#执行结果:
True ######################----------------------############################# #取一个key,如果不存在,就设置(添加)一个值
print (id_db.setdefault(130627199708050613)) #id_db.setdefault() 如果这个值存在就下载这个值
#执行结果:
{'addr': '河北保定', 'name': '张江华', 'age': 21} print (id_db.setdefault(111130627199708050613,'kkk')) #如果不存在,就生成一个新的值,默认它的值对应的是None,可以手动指定。(最多可以指定两个参数)
print (id_db)
#执行结果:
kkk
{130627199708050613: {'addr': '河北保定', 'name': '张江华', 'age': 21}, 131627199708050613: {'addr': '河北保定唐县', 'name': '张亮', 'age': 22}, 132627199708050613: {'addr': '河北承德', 'name': 'XXX', 'age': 23}, 111130627199708050613: 'kkk'} ######################----------------------############################# #id_db.fromkeys() 把列表每个元素取出来,把它当做一个key存到字典里,并且对应的values是后边的hahahah。
print (id_db.fromkeys([1,2,3,4,5,],'hahahah'))
#执行结果:
{1: 'hahahah', 2: 'hahahah', 3: 'hahahah', 4: 'hahahah', 5: 'hahahah'} id_db.get() 获取
id_db.update() 更新(覆盖)字典
id_db.values() 打印字典里所有的values
id_db.keys() 打印字典里所有的keys
(130627199708050613 in id_db) 判断在这个字典里是否包含一个keys
setdefault() 取一个key,如果不存在,就设置(添加)一个值
fromkeys() 把列表每个元素取出来,把它当做一个key存到字典里,并且对应的values是后边的hahahah。