在嵌套列表中查找索引
可能重复的问题:
在Python中高效的单词索引
抱歉问了个基础问题,我该怎么找到与“yellow”对应的索引 ((1,2),(2,1),(2,2))
,并把它们存起来,以便之后可以直接访问,而不需要重新搜索呢?
ref1 = "this is a test"
ref2 = "this is a yellow test"
ref3 = "this is yellow"
ref4 = "yellow and orange are colors"
ref = ((ref1,ref2),(ref3,ref4))
2 个回答
0
我不太明白你的意思,不过如果你想从一个包含嵌套列表(或元组)的列表中,生成一对一对的组合,每当你看到“黄色”这个词时,可以这样做:
answer = []
for i in range(len(ref)):
nested_tuple = ref[i]
for j in range(len(nested_tuple)):
string = ref[i][j]
if string.find('yellow') != -1: answer.append((i,j))
0
只是为了说明一下:
[(k,i) for k,m in enumerate(ref, 1) for i,j in enumerate(m, 1) if 'yellow' in j]
不过你可能想要的是从零开始的真实索引……如果是这样的话,就把enumerate
的第二个参数去掉。