2011-10-21 31 views
-2

可能重複:
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)) 
+0

我不明白你的問題。另外,它爲什麼標記列表?你的問題中沒有任何列表。那些是元組。 –

+1

大衛,人們經常認爲這是對我們這些人的侮辱,他們關心社區發佈的東西剛剛以不同的名字被封閉。 – cwallenpoole

+0

對不起,我是新手,我不明白爲什麼它之前關閉,我只是想改變大衛的問題 – David

回答

0

只是爲了它的緣故:

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

但或許需要真正的索引(從零開始)...刪除的enumerate如果是第二個參數。

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))