在嵌套列表中查找索引

-2 投票
2 回答
3041 浏览
提问于 2025-04-17 04:46

可能重复的问题:
在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的第二个参数去掉。

撰写回答