无法附加列表以列出python

时间:2017-02-16 20:08:33

标签: python list nested-lists

我只是想通过制作一个列表列表来创建数据库,其中D中的每个项目都是使用line.split分割的数字列表

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__'

有人可以解释我做错了什么,以及如何正确处理这个问题?

4 个答案:

答案 0 :(得分:5)

尝试:

D.append(trans)

这将调用列表对象append的方法D。当您D.append[...]时,您尝试索引append属性。但该属性是一个函数/方法,因此您无法将其编入索引。

答案 1 :(得分:2)

使用:

stock.picking

答案 2 :(得分:1)

尝试

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

你也可以说

for line in f1:
    print f1

看看f1究竟是什么。

答案 3 :(得分:0)

你的问题在这里:

D.append[trans]

那是试图将属性trans分配给属性append,这是一个方法。你想要

D.append(trans)