Python在列表中查找某些列不重要的项的索引
我有一个python列表,类似于以下示例:Python在列表中查找某些列不重要的项的索引,python,list,Python,List,我有一个python列表,类似于以下示例: a=[[1,2,'aaa'],[3,4,'nnnn'] 我如何通过只说[1,2,*]得到[1,2,'aaa']的索引,其中*表示不重要?换句话说,我想得到项目的索引,其中第一列为1,第二列为2,第三列值不重要。您可以使用: 输出 [0] 一个简单的循环怎么样 a = [[1,2,'aaa'] , [3,4,'nnnn'] for i, item in enumerate(a): if item[0] == 1 and item[1] == 2
a=[[1,2,'aaa'],[3,4,'nnnn']
我如何通过只说[1,2,*]得到[1,2,'aaa']的索引,其中*表示不重要?换句话说,我想得到项目的索引,其中第一列为1,第二列为2,第三列值不重要。您可以使用:
输出
[0]
一个简单的循环怎么样
a = [[1,2,'aaa'] , [3,4,'nnnn']
for i, item in enumerate(a):
if item[0] == 1 and item[1] == 2:
print(i)
break
可用于可扩展解决方案:
from operator import itemgetter
a = [[1,2,'aaa'] , [3,4,'nnnn']]
getter = itemgetter(0, 1) # get first and second items
indices = [idx for idx, item in enumerate(a) if getter(item) == (1, 2)] # [0]
对列表的所有项执行一个简单的
循环
。返回第一个出现的情况,其中[i][0]是1
,而[i][1]是2
,这将需要另外一个条件来检查strings@Bazingaa想解释一下吗?@DanielMesejo:“第三列的值并不重要。”。因此,我假设有第三个列表,其中存储了不重要的字符串。因此,不仅1,2,而且第三个值也应该与一些预定义值匹配list@Bazingaa我相信OP不关心后面的内容。@DanielMesejo是的,我不关心接下来的专栏。
from operator import itemgetter
a = [[1,2,'aaa'] , [3,4,'nnnn']]
getter = itemgetter(0, 1) # get first and second items
indices = [idx for idx, item in enumerate(a) if getter(item) == (1, 2)] # [0]