簡體   English   中英

Python:根據key的值在數組中查找dict

[英]Python: Find dict in array based on value of key

這是我的一系列dicts

[{'task': 'send-email', 'email': {'id': 1234}},
{'task': 'send-alert', 'email': {'id': 4567}}]

我有一個方法:

def get_side_effect(self, type):

我試圖遍歷數組中的每個dict並找到dict ,其中task鍵包含傳遞給方法的類型的值。

def get_side_effect(self, key):
    return [cdict for cdict in my_list if cdict["task"] == key]

print obj.get_side_effect("send-email")

產量

[{'task': 'send-email', 'email': {'id': 1234}}]

建議不要將變量命名為type ,因為這會影響內置type函數。

但是,如果你要做的只是迭代結果,你可以簡單地做到這一點

for mathched_dict in (cdict for cdict in my_list if cdict["task"] == key):
    print mathched_dict

或者您可以使用內置list功能將其轉換為list ,如下所示

list(cdict for cdict in my_list if cdict["task"] == key)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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