我想检查字符串是否匹配任何d["vin"]
字典列表:
mylist = [{"vin":"A123"}, {"vin":"B234"}];
if "A123" in ???:
# continue...
这怎么可能?
答案 0 :(得分:4)
使用any()
function和generator expression:
if any(d['vin'] == 'A123' for d in mylist):
这假设d
中的所有mylist
都拥有该密钥;如果不是这种情况,请使用dict.get()
:
if any(d.get('vin') == 'A123' for d in mylist):
在任何一种情况下,any()
都会短路;它只会根据需要测试尽可能多的d
来查找匹配项。对于您的示例,只会测试第一个字典。
答案 1 :(得分:1)
if any(d["vin"] == "A123" for d in mylist):
# ... etc.
答案 2 :(得分:0)
mylist = [{"vin":"A123"}, {"vin":"B234"}];
for lists in mylist:
if "vin" in lists:
# continue...do something
答案 3 :(得分:-1)
您可以将any
与in
:
if any('A123' in d.values() for d in mylist):