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