2017-01-17 3 views
-2

저는 현재 사용자 문장을 unique_words와 position이라는 두 변수로 압축하는 프로그램을 만들고 있습니다. 고유 한 단어는 사용자 문장의 모든 고유 단어가됩니다. 예를 들어 "고양이가 매트에 앉았습니다"라는 독특한 단어는 "고양이, 앉아서, 매트"가되며 위치는 123415가됩니다. 이들 모두를 텍스트 파일에 저장합니다.Python 3x TypeError :리스트 인덱스는 str이 아닌 정수 또는 조각이어야합니다.

나는 코딩이 새로 생겼다. 그러므로 나는 내 코드가 대문자와 구두점을 유지할 수 없으므로 사전을 사용하지 않는 것이 바람직하다.

list_1 = [the, cat, sat, on, mat] 
list_2 = [1, 2, 3, 4, 1, 5] 
list_3 = [] 

for i in list_2: 
    list_3.append(list_1[i]) 

:

그럼 내가 무엇을 할 수 있기를 원하는 것은, 예를 들어 내 코드는 다음처럼 뭔가를보고 싶어, 그래서 다시 텍스트 파일에서 다음을 추출하고 두 개의 변수에 저장입니다 그러나 나는이 내 실제 코드에서 수행 할 때

for l in positions_File: 
     orig_sntnce.append(uqwordsFile[l]) 
    print(orig_sntnce)` 

나는 TypeError: list indices must be integers or slices, not str 는 내가 어떻게 든 '조각'으로 독특한 단어가 포함되어 내 목록을 변환 할 필요가 생각하는 오류? 나는 이것을하는 방법에 정말로 붙어 있냐? 나는 목록을 나누어 보았습니다.하지만 다시 생각해 봅니다. 원래 문장의 구두점과 대소 문자를 유지할 수 없게 만듭니다.

+1

'positions_File'내용을 확인하십시오. 숫자의 목록이 아니라 문자열 목록입니다. 아마도 문자열 형식의 숫자를 가지고있을 것입니다. –

+2

'str'을 읽으므로'int (l)'을 사용하여'int'로 변환해야합니다. 'uqwordsFile (int (l))'을 시도해보십시오. –

+0

'uqwordsFile [int (l)]'을 사용하여 인덱스가 int인지 확인할 수 있지만 입력을 확인해야합니다. – jswetzen

답변

-2

list_1 요소는 list_1 = [ 'the', 'cat', 'sat', 'on', 'mat'] 문자열이어야하며, 작은 따옴표/큰 따옴표가 누락되어 있으며 list_2에는 5 list_1은 요소가 5 개 뿐이므로 오류가 발생하는 요소이므로 0,4에만 색인을 생성 할 수 있습니다.

관련 문제