在嵌套列表中查找索引

时间:2011-10-21 17:37:46

标签: python list indexing nested

  

可能重复:
  efficient word indexing in python

对于基本问题的抱歉,如何在((1,2),(2,1),(2,2))中找到与“黄色”相对应的索引ref并存储它们,以便我可以在不重新搜索搜索的情况下访问它们?

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 :(得分:0)

只是为了它:

[(k,i) for k,m in enumerate(ref, 1) for i,j in enumerate(m, 1) if 'yellow' in j]

但你可能想要真正的索引(从零开始)...如果是的话,删除enumerate的第二个参数。

答案 1 :(得分: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))