我有一个由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)
有许多方法可以更紧凑地编写它:
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)