❶ 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,輸出時列表內部以元組的形式返回了這兩個相同建的值。