[英]Check keys in list of dictionaries and create new lists
我有一個列表p
和一個字典列表q
如下所示。
p = ['a', 'b', 'c', 'd']
q = [{'a':1, 'b':2}, {'b':3, 'c':4},{'c':5,'a':6},
{'d':7,'a':8}]
p
和q
的長度總是相同的。
我想要一個如下所示的列表輸出。
a = [1,2,0,0]
b = [0,3,4,0]
c = [6,0,5,0]
d = [8,0,0,7]
我已經嘗試過以下
a = []
b = []
c = []
d = []
for i in range(len(p)):
if p[i] == q[i].keys():
a.append(q[i].values())
else:
a.append(0)
對於所有空列表,依此類推,但它似乎沒有將值附加到列表中。
您可以使用解包:
p = ['a', 'b', 'c', 'd']
q = [{'a':1, 'b':2}, {'b':3, 'c':4},{'c':5,'a':6}, {'d':7,'a':8}]
a, b, c, d = [[i.get(c, 0) for c in p] for i in q]
輸出:
[1, 2, 0, 0]
[0, 3, 4, 0]
[6, 0, 5, 0]
[8, 0, 0, 7]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.