❶ python中 列表导入到字典 出现相同的键,如何将值相加
result = dict()
for data in number:
result[data[0]] = int(result.get(data[0], 0)) + int(data[3])
print(result)
❷ python如何实现列表嵌套字典,字典内相同key去重,字典内另外一个key的value相加
按照你的要求编写的字典内相同key合并的Python程序如下
l=[{'a':1,'b':'haha'},{'a':3,'b':'haha'},{'a':2,'b':'xiaoming'}]
result=[]
temp=[]
for i in range(len(l)):
flag=False
suma=l[i]['a']
b=l[i]['b']
for j in range(i+1,len(l)):
if l[i]['b']==l[j]['b'] and (j not in temp):
flag=True
temp.append(i)
temp.append(j)
suma=suma+l[j]['a']
if i not in temp or flag==True:
result.append({'a':suma,'b':b})
print(result)
源代码(注意源代码的缩进)
❸ Python两个字典key相同的值组成新字典
按照你的要求编写的两个字典key相同的值组成新字典的Python程序如下
dic1={'福州龙湖': ['1293521.23', '620624'], '赣州龙湖': ['3050.51']}
dic2={'福州龙湖': ['12345', '67890'], '赣州龙湖': ['123','456']}
dic3={}
for key in dic1:
if dic2.get(key):
dic3[key]=[dic1[key],dic2[key]]
else:
dic3[key]=dic1[key]
for key in dic2:
if dic1.get(key):
pass
else:
dic3[key]=dic2[key]
print(dic3)
源代码(注意源代码的缩进)
运行结果
{'福州龙湖': [['1293521.23', '620624'], ['12345', '67890']], '赣州龙湖': [['3050.51'], ['123', '456']]}
❹ python字典 相同KEY整成一个列表
由于些软件无法正常输出所需格式样式,只能截图给你。
图1为代码,图2为效果。
❺ 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'}]
'''
❻ python中两个字典间根据相同的键筛选其对应的值
Python Code:
d1={'k1':'v1','k2':'v2','k3':'v3'}
d2={'k1':'v1_1','k3':'v3_3','k4':'v4'}
print(list(map(lambdak:(d1[k],d2[k]),{*d1}&{*d2})))
输出:
[('v3','v3_3'),('v1','v1_1')]
上述演示代码中 d1 和 d2 这两个字典的相同键都是:k1 和 k3,
其对应值为:v1, v1_1 和 v3, v3_3,输出时列表内部以元组的形式返回了这两个相同建的值。