我试图从文件中拆分行,然后尝试将拆分字符串添加到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]
答案 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:]