从文件拆分并添加到字典

时间:2016-07-19 15:49:25

标签: python dictionary split

我试图从文件中拆分行,然后尝试将拆分字符串添加到python字典中,但是,我不断收到以下错误:

'list' object is not callable

文件中的一行看起来像

a,12,15,16,17,18,92

这是我的代码:

filename = "numbers.txt"
file = open(filename, "r") 
xY = {}
xX = {}
for line in file:
    p = line.split(',')
    ID = p(0)
    a  = p(1)
    b  = p(2)
    c  = p(3)
    d = p(4) 
    e = p(5)
    f  = p(6)

    xY[ID] = [a, b, c]
    yY[ID] = [d, e, f]

2 个答案:

答案 0 :(得分:1)

line.split(',')会返回一个列表。

您可以使用[]括号表示法

访问列表中的元素

list[0]返回列表中的第一个元素
list[1]返回列表中的第二个元素
等...

您尝试做的是list(0),这是语法错误。

Python会将list(0)解释为尝试使用参数0调用仿函数。 list没有函数调用运算符,因此出现错误:

'list' object is not callable

答案 1 :(得分:0)

这只是一个拼写错误/初学者错误 - 使用方括号对序列进行索引或切片。 python中的括号表示函数调用。

我正在为正确的缩进错误添加答案,并使列表切片更加pythonic:

filename = "numbers.txt"
with open(filename, "r") as file:
    xY = {}
    xX = {}
    for line in file:
        p = line.split(',')
        ID = p[0]
        xY[ID], yY[ID] = p[1:4], p[-3:]