我有以下 7 個字典
{'empid':785, 'empname':'Ibrahim', 'date(2022,5,1)':'Unmarked'}
{'empid':785, 'empname':'Ibrahim', 'date(2022,5,2)':'Unmarked'}
{'empid':785, 'empname':'Ibrahim', 'date(2022,5,3)':'Present'}
{'empid':785, 'empname':'Ibrahim', 'date(2022,5,4)':'Unmarked'}
{'empid':785, 'empname':'Ibrahim', 'date(2022,5,5)':'Unmarked'}
{'empid':785, 'empname':'Ibrahim', 'date(2022,5,6)':'Absent'}
{'empid':785, 'empname':'Ibrahim', 'date(2022,5,7)':'Unmarked'}
我想轉換成以下格式。
{'empid':785, 'empname':'Ibrahim', 'date(2022,5,1)':'Unmarked', 'date(2022,5,2)':'Unmarked', 'date(2022,5,3)':'Present', 'date(2022,5,4)':'Unmarked', 'date(2022,5,5)':'Unmarked', 'date(2022,5,6)':'Absent', 'date(2022,5,7)':'Unmarked'}
我怎樣才能做到這一點?
uj5u.com熱心網友回復:
另一種方法:
dcts = [
{"empid": 785, "empname": "Ibrahim", "date(2022,5,1)": "Unmarked"},
{"empid": 785, "empname": "Ibrahim", "date(2022,5,2)": "Unmarked"},
{"empid": 785, "empname": "Ibrahim", "date(2022,5,3)": "Present"},
{"empid": 785, "empname": "Ibrahim", "date(2022,5,4)": "Unmarked"},
{"empid": 785, "empname": "Ibrahim", "date(2022,5,5)": "Unmarked"},
{"empid": 785, "empname": "Ibrahim", "date(2022,5,6)": "Absent"},
{"empid": 785, "empname": "Ibrahim", "date(2022,5,7)": "Unmarked"},
]
out = {k: v for d in dcts for k, v in d.items()}
print(out)
印刷:
{
"empid": 785,
"empname": "Ibrahim",
"date(2022,5,1)": "Unmarked",
"date(2022,5,2)": "Unmarked",
"date(2022,5,3)": "Present",
"date(2022,5,4)": "Unmarked",
"date(2022,5,5)": "Unmarked",
"date(2022,5,6)": "Absent",
"date(2022,5,7)": "Unmarked",
}
uj5u.com熱心網友回復:
def Merge(a,b,c,d,e,f,g):
res = a | b | c | d | e | f | g
return res
a = {'empid':785, 'empname':'Ibrahim', 'date(2022,5,1)':'Unmarked'}
b = {'empid':785, 'empname':'Ibrahim', 'date(2022,5,2)':'Unmarked'}
c = {'empid':785, 'empname':'Ibrahim', 'date(2022,5,3)':'present'}
d = {'empid':785, 'empname':'Ibrahim', 'date(2022,5,4)':'Unmarked'}
e = {'empid':785, 'empname':'Ibrahim', 'date(2022,5,5)':'Unmarked'}
f = {'empid':785, 'empname':'Ibrahim', 'date(2022,5,6)':'Absent'}
g = {'empid':785, 'empname':'Ibrahim', 'date(2022,5,7)':'Unmarked'}
result = Merge(a,b,c,d,e,f,g)
uj5u.com熱心網友回復:
from functools import reduce
lst = [{'empid': 785, 'empname': 'Ibrahim', 'date(2022,5,1)': 'Unmarked'},
{'empid': 785, 'empname': 'Ibrahim', 'date(2022,5,2)': 'Unmarked'},
{'empid': 785, 'empname': 'Ibrahim', 'date(2022,5,3)': 'Present'},
{'empid': 785, 'empname': 'Ibrahim', 'date(2022,5,4)': 'Unmarked'},
{'empid': 785, 'empname': 'Ibrahim', 'date(2022,5,5)': 'Unmarked'},
{'empid': 785, 'empname': 'Ibrahim', 'date(2022,5,6)': 'Absent'},
{'empid': 785, 'empname': 'Ibrahim', 'date(2022,5,7)': 'Unmarked'}]
def fun(dct1, dct2):
res = dct1.copy()
for key, value in dct2.items():
if key not in dct1:
res[key] = value
return res
reduce(fun, lst)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/471975.html
標籤:Python python-3.x django 字典 django-views
上一篇:通過串列更新字典
