使用Python列表时出现TypeError

时间:2011-12-06 22:00:05

标签: python list getline linecache

在以下代码片段中:

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

是否有可能解决我在这条线上遇到的问题?

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

这是我得到的错误:

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

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

您会收到此异常,因为永远不会定义对象list。在使用之前初始化list

例如:

list = []

您的代码正在尝试将项目分配给内置序列类型list

将变量命名为现有类型并不是一个好习惯... 为变量赋予另一个名称,如lines

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