2017-02-16 1 views
0

임은 단순히 D의 각 항목은 line.split캔트 APPEND 목록

D = [] 

f1 = open("test.txt",'r') 
for line in f1: 
    trans = line.split() 
    D.append[trans] 

를 사용하여 분할 번호의 목록입니다 목록의 목록을 만들어 데이터베이스를 만들려고 노력이 무엇 인 파이썬을 나열 나는이 때 TEST.TXT에

12 34 34 324 32432 4 
23 432 43 557 56 8 
124 234 64 457 56 

는이 오류를 다시 얻을

Traceback (most recent call last): 
    File "practice.py", line 6, in <module> 
    D.append[trans] 
TypeError: 'builtin_function_or_method' object has no attribute '__getitem__' 

누군가가 내가 승 뭘하는지 설명 할 수 rong과 이것을 올바르게 접근하는 방법?

+1

대괄호로'D.append [trans]'..에서 무엇을하고 있습니까? – Li357

+0

그게 무슨 가치가 있는지, 나는 이것이 단순한 '오타'라는 것을 완전히 확신하지 못합니다. OP는 파이썬에 새로운 것으로 보이며 '[]'와 '()'의 차이에 대해 혼란스럽지 않습니다. – user1245262

답변

5

시도 :이 목록 객체 D의 방법 append를 호출

D.append(trans) 

. D.append[...]을 수행하면 append 특성으로 색인을 만듭니다. 하지만이 속성은 함수/메소드이므로 색인을 생성 할 수 없습니다.

+0

어떻게 그 ..... 와우 ... 그리워 했습니까? –

+0

@JoseMedina : 괜찮습니다, 우리는 한번에 모든 초보자였습니다 :) Python 오류 메시지는 여기에 더 적합 할 수 있습니다. 그것은 초보자 친화적이지 않습니다. –

1

당신은 또한

for line in f1: 
    print f1 

정말 무엇인지 F1을보고 말할 수

D = [] 

f1 = open("test.txt",'r') 
for line in f1.getlines(): 
    trans = line.split() 
    D.append(trans) # with() instead of [] since this is a function call and not an index 

보십시오.

2

사용 :

D = [] 

f1 = open("test.txt",'r') 
for line in f1: 
    trans = line.split() 
    D.append(trans) 
0

귀하의 문제가 여기에 있습니다 : 방법 인 추가 속성에 트랜스 속성을 할당하려고

D.append[trans] 

. 당신이 원하는

D.append(trans) 
+0

* 애트리뷰트 애트리뷰트에 애트리뷰트 애트리뷰트 (attribute append)를 할당하려고합니다. *는 무엇입니까? 아무것도 배정되지 않았습니다 ... – Li357