2011-10-21 7 views
-2

이 가능한 중복 : 기본적인 질문에 대한
efficient word indexing in python발견 지수는

사과, 어떻게 ref에 인덱스 ((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)) 
+0

질문에 대한 이해가 부족합니다. 또한 태그가 붙은 목록은 무엇입니까? 귀하의 질문에 어디에도 목록이 없습니다. 그것들은 튜플입니다. –

+1

데이비드 (David)는 커뮤니티가 다른 이름으로 막 폐쇄 된 것을 게시하는 것에 대해 우려하는 경우가 종종 있습니다. – cwallenpoole

+0

죄송합니다. 새로운 질문입니다. 이전에 닫히지 않은 이유를 이해하지 못했습니다. 질문을 변경하려고 시도했습니다. – David

답변

0

는 :

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

하지만 당신은 아마 (0부터 시작) 실제 인덱스를 원하는 ... 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))