本文目錄一覽:
- 1、Python中,如何合併兩個鍵相同,值為元祖類型的字典?
- 2、python中兩個字典合併的問題。
- 3、python中,如何將多個字典組合成一個字典
- 4、怎樣合併字典最符合Python語言習慣
- 5、python中 怎麼對字典中key具有包含關係的字符串進行合併?
- 6、python列表中字典按指定相同的鍵值對合併到一個列表中
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])
python中兩個字典合併的問題。
把dict2里的所有元素當作dict的參數傳遞
比如
dict2的內容是:
{‘test’:1,’test2′:2}
也就相當於:
dict(dict1, test=1, test2=2)
python中,如何將多個字典組合成一個字典
Python編程將多個字典文件合併成一個字典文件,代碼如下:
//例子:合併a.txt和b.txt兩個字典文件
def readf(filename):
lines = file(filename).readlines()
dic = {}
for i in lines:
i_ = i.split()
dic[i_[0]] = int(i_[1])
return dic
dica = readf(‘a.txt’)
dicb = readf(‘b.txt’)
lines = []
for i in dica:
percent = str(float(dicb[i])*100/dica[i])+’%’
s = ‘ ‘.join([i, str(dica[i]), str(dicb[i]), percent])
s += ‘\n’
lines.append(s)
//合併成一個字典文件c.txt
with open(‘c.txt’, ‘w’) as f:
f.writelines(lines)
f.close()
怎樣合併字典最符合Python語言習慣
需要滿足以下要求:
如果存在重複的鍵,user字典中的值應覆蓋defaults字典中的值;
defaults和user中的鍵可以是任意合法的鍵;
defaults和user中的值可以是任意值;
在創建context字典時,defaults和user的元素不能出現變化;
更新context字典時,不能更改defaults或user字典。
python中 怎麼對字典中key具有包含關係的字符串進行合併?
1.
python中一個字典不能有同一個鍵對應多個值的情況存在.
你給的樣例若直接賦值給某個字典變量將會是如下效果:
d
=
{‘abcd’:[1,2,3],’bcd’:[1,2,3],’abcd’:[2,3,4],’bcd’:[2,3,4]}
d
{‘abcd’:
[2,
3,
4],
‘bcd’:
[2,
3,
4]}
同鍵的後值覆蓋前值;
2.
字典合併操作要視你的合併算法而定,例如:
d0
=
{‘abcd’:[1,2,3],’bcd’:[1,2,3]}
d1
=
{‘abcd’:[2,3,4],’bcd’:[2,3,4]}
#
列表疊加:
for
k,v
in
d1.items():
…
d0[k]
=
d0.get(k,[])+v
…
d0
{‘abcd’:
[1,
2,
3,
2,
3,
4],
‘bcd’:
[1,
2,
3,
2,
3,
4]}
#
合併為無重複項的條目
for
k,v
in
d1.items():
…
d0[k]
=
list(set(d0.get(k,[])+v))
d0
=
{‘abcd’:[1,2,3],’bcd’:[1,2,3]}
for
k,v
in
d1.items():
…
d0[k]
=
list(set(d0.get(k,[])+v))
…
d0
{‘abcd’:
[1,
2,
3,
4],
‘bcd’:
[1,
2,
3,
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’}]
”’
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/247363.html