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

时间:2013-07-18 22:18:03

标签: python list

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

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

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

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

a[2][0]

2 个答案:

答案 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