Skip to main content
 首页 » 编程设计

python之检查列表列表的第一个元素

2025年05月04日11lonelyxmas

我有一个如下所示的列表:

List = [['name1','surname1'], ['name2','surname2'],['name3','surname3']] 

我想检查“name1”是否在对象“List”中。我试过:

if 'name1' in List: 
    print True 
else: 
    print False 

并且输出为“False”。知道如何创建一个子列表(或类似的东西)来检查每个子列表的第一个元素而不遍历主列表的所有元素吗?

可能的解决方案

我想到的是:

for i in range(0, len(List)): 
    if List[i][0] == 'name1': 
        print True 

但如果可能的话,我想用更优化的东西来避免这种迭代。

请您参考如下方法:

您可以使用生成器表达式:

>>> 'name1' in (x[0] for x in List) 
True 

一旦找到 'name1' 就会短路,并且不会在内存中创建任何不必要的列表。

相关:List comprehension vs generator expression's weird timeit results?