簡體   English   中英

檢查字典列表中的鍵並創建新列表

[英]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}]

pq的長度總是相同的。

我想要一個如下所示的列表輸出。

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM