python两字典合并
1. python中,如何合并两个键相同,值为元祖类型的字典
假设原键是
key
新建是
newkey
先删除原键值对,保存值,然后以新键插入字典
操作可以合并成一条一句
dict[newkey]
=
dict.pop(key)
2. Python中,如何合并两个键相同,值为元祖类型的字典
你好,下面是对应的代码:把元祖变成list合并
C = {}
for key in list(set(dicxs) | set(diccj)):
if dicxs.get(key) and diccj.get(key):
C[key]= list(dicxs[key])+list(diccj[key])
elif dicxs.get(key):
C[key]=list(dicxs[key])
else:
C[key]=list(diccj[key])
3. Python将两个字典合并成一个字典
d1={'tudou':3,'yangcong':1,'mitao':8}
d2={'mitao':3,'pantao':5,'wutongshu':2,'lian':1}
d1.update(d2)
这个d2就追加到d1里了,但是update返回的是None,是更新了d1的内容,请注意使用
如果d1和d2有重复的键,则会重写。
4. python列表中字典按指定相同的键值对合并到一个列表中
使用集合去重 + local动态变量设置 + exec 字符串解析 可实现,话不多说,代码在下面,格式有问题调整下空格:
list_msg = [{'date':'2019-08-17', 'type':'旅游', 'over_im':'12365'},
{'date':'2019-08-17', 'type':'haha', 'over_im':'12365'},
{'date':'2019-08-18', 'type':'娱乐', 'over_im':'11234'},{'date':'2019-08-19', 'type':'生活', 'over_im':'9532'},]
# 去除字典重复的data ,获取数据包含多少天内容
set_mark = {i['date'] for i in list_msg}
# 去除非法命名字符作为列表后缀:
ver_name = [i.replace('-','_') for i in set_mark]
# 给列表排序,确保按照顺序输出变量
ver_name.sort()
# 设置动态命名模板
list_name_template = 'list_data_'
# 创建local对象,准备创建动态变量
createver = locals()
# 循环遍历数据并创建动态列表变量接收
for mark in set_mark:
# 动态创建变量
createver[list_name_template + mark.replace('-','_')] \
= [dict_current for dict_current in list_msg if dict_current['date'] == mark]
for name in ver_name:
print(list_name_template + name + ':' ,end='\t') # 打印自动创建的变量名称,采用tab分隔
exec('print('+list_name_template + name +')') # 打印变量内容(列表)
'''
打印结果
list_data_2019_08_17: [{'date': '2019-08-17', 'type': '旅游', 'over_im': '12365'}, {'date': '2019-08-17', 'type': 'haha', 'over_im': '12365'}]
list_data_2019_08_18: [{'date': '2019-08-18', 'type': '娱乐', 'over_im': '11234'}]
list_data_2019_08_19: [{'date': '2019-08-19', 'type': '生活', 'over_im': '9532'}]
'''
5. python求合并这两个字典
dict1={'1': ('a', 'b', 'c', 'd'), '2': ('f', 'w', 'm'), '3':( 'p', 'l', 'w')}
dict2={'1': ('b', 'w', 'q'), '2':( 'i', 'z', 'm'), '3':( 'p', 'w', 'o')}
dict={}
for key in dict1.keys():
dict[key]=list(dict1[key])
for key in dict2.keys():
if dict.has_key(key):
#append
for v in dict2[key]:
if not v in dict[key]:
dict[key].append(v)
else:
dict[key]=list(dict2[key])
print dict
6. 论Python怎样将两个list合并为一个字典
dict(zip(lista,listb))
zip函数将lista,listb的元素两两组合在一起,dict将zip的返回值强制转换为字典
生成一个以lista成员为key,listb元素为value的字典