Python:项目存在于列表内的列表中

Ger*_*ell 0 python list

b = [{'a': 1, 'b': 2}, {'a': 3, 'b': 4}, {'a': 5, 'b': 6}]
Run Code Online (Sandbox Code Playgroud)

如何确定b是否有条目'a'=5

Sve*_*ach 7

使用any()与发电机的表达:

if any(x["a"] == 5 for x in b):
    # whatever
Run Code Online (Sandbox Code Playgroud)

b一旦找到第一个匹配,这将停止迭代.

如果你喜欢函数式编程,你也可以这样做

from operator import itemgetter
from itertools import imap
if 5 in imap(itemgetter("a"), b):
    # whatever
Run Code Online (Sandbox Code Playgroud)

我很确定,但包括我在内的大多数人都更喜欢第一种变体.