在lis中查找列表中的项目

2024-04-26 13:34:13 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

我需要检查给定的值,比如7,是否存在于a中任何列表的第一项(即:项[0])中。在这种情况下,结果是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

Tags: 项目方法infalsetruenumber列表for
2条回答

使用^{}很好,因为当找到一个值时它会立即中断:

>>> any(7 == i[0] for i in a)
True

有很多方法可以更简洁地编写:

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)

相关问题 更多 >