如何檢查drink_list 中任何元素的“name”屬性是否與單獨串列(str_list)中的任何字串匹配?
drink_list = [
{
"name": "Rum & Coke",
"ingredients": {
"rum": 50,
"coke": 150
}
}, {
"name": "Gin & Tonic",
"ingredients": {
"gin": 50,
"tonic": 150
}
}]
str_list = ['Gin & Tonic’, 'Daquiri']
uj5u.com熱心網友回復:
drink_list = [
{
"name": "Rum & Coke",
"ingredients": {
"rum": 50,
"coke": 150
}
}, {
"name": "Gin & Tonic",
"ingredients": {
"gin": 50,
"tonic": 150
}
}]
str_list = ['Gin & Tonic', 'Rum & Coke', 'Daquiri']
// make an empty list
found_list = []
// iterate over drink_list and check if value is in str_list or not
for drink in drink_list:
if drink["name"] in str_list:
found_list.append(drink["name"]) // append matched value in found_list
print(found_list) // prints desired output in list
輸出:
['朗姆酒和可樂','杜松子酒']
uj5u.com熱心網友回復:
如果要保留所有名稱的串列,請執行以下操作:
>>> l = []
>>> for i in drink_list:
... if i['name'] in str_list:
... l.append(i['name'])
...
>>> l
['Gin & Tonic']
如果您附加,您還可以附加并保留整個飲料字典i:
l.append(i)
也可以使用串列推導:
>>> [i['name'] for i in drink_list if i['name'] in str_list]
['Gin & Tonic']
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/406116.html
標籤:
上一篇:期限結構的間隔
