我有一个由3个项目列表组成的列表:
a = [[1,2,3], [4,5,6], [7,8,9], [10,11,12]]
我需要检查{{1}中任何列表中的任何第一个项目(即项目[0]
)中是否存在给定值(例如7) }。在这种情况下,结果为a
,因为它存在于True
。
这是我想出来的,我想知道是否有更好的方法:
a[2][0]
答案 0 :(得分:7)
有许多方法可以更紧凑地编写它:
7 in (x[0] for x in a) # using a generator to avoid creating the full list of values
或使用一些标准库模块:
import operator
import itertools
first_elem = operator.itemgetter(0)
7 in itertools.imap(first_elem, a)
答案 1 :(得分:3)
使用any
很有用,因为它会在找到值时立即中断:
>>> any(7 == i[0] for i in a)
True