2011-12-06 2 views
-1

작업 :형식 오류 동안 파이썬 목록 다음 코드 조각에서

def func_5_2(datei, num): 
    import linecache 
    i = 0 
    number = num + 1 
    l = [] 
    while True: 
     l[i] = linecache.getline(datei, number) 
     if (l[i] == ''): 
      break 

그것이 내가이 라인에 얻을 문제를 해결할 수 있습니까? 당신의 도움에 대한

File "/home/oliverharms/workspace/GoSection/gosection.py", line 27, in func_5_2 
    list[i] = linecache.getline(datei, number) 
TypeError: 'type' object does not support item assignment 

감사 :

list[i] = linecache.getline(datei, number) 

여기에 내가 오류입니다!

+0

:

그것은 기존의 유형과 같은 이름의 변수에 좋은 방법이 아닙니다 ... 변수를 lines 같은 다른 이름을 지정? –

+0

무엇을하려고합니까? 코드에 몇 가지 문제점이 있지만 원하는 결과는 무엇입니까? – FakeRainBrigand

+0

'list'가 어떻게 초기화되는지 보여주십시오. 파이썬리스트가 확실합니까? – gecco

답변

1

list 오브젝트가 정의되지 않았으므로이 예외가 발생합니다. 사용하기 전에 list을 초기화하십시오. 이 같은 예를 들어

:

list = [] 

코드는 내장 시퀀스 유형 list에 항목을 할당 할 노력하고있다. `list`은 무엇

>>> lines = [] 
>>> type(lines) 
<class 'list'> 
+0

괜찮습니다. 한 번 더 변경하지만, 왜 IndexError : list assignment index가 범위를 벗어 났는지 이해할 수 없습니다. – user1081715

+0

'list [i]'대신'list.append'를 사용하여 목록에 항목을 추가하십시오. 존재하지 않는 테이블의 색인을 설정할 수 없습니다 (아직). – gecco

+0

내 게시물이 내 답변에 답장을 보내려면 해결책으로 표시하십시오. 그게 어떻게 작동하는거야 ... – gecco