在列表中查找列表中的项目

Gab*_*iel 3 python list

我有一个由3个项目列表组成的列表:

a = [[1,2,3], [4,5,6], [7,8,9], [10,11,12]]
Run Code Online (Sandbox Code Playgroud)

我需要检查一个给定的值,比如7,是否存在于任何列表的任何第一项(即:项目[0])中a.在这种情况下,结果是True因为它存在于a[2][0].

这就是我想出来的,我想知道是否有更好的方法:

a = [[1,2,3], [4,5,6], [7,8,9], [10,11,12]]
number = 7
out = False

for item in a:
    if number == item[0]:
        out = True
Run Code Online (Sandbox Code Playgroud)

Tho*_*nzl 7

有许多方法可以更紧凑地编写它:

7 in (x[0] for x in a)  # using a generator to avoid creating the full list of values
Run Code Online (Sandbox Code Playgroud)

或使用一些标准库模块:

import operator
import itertools

first_elem = operator.itemgetter(0)

7 in itertools.imap(first_elem, a)
Run Code Online (Sandbox Code Playgroud)