2016-07-19 81 views
0

我試圖分裂從一個文件行,然後試圖分割字符串添加到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] 
+4

變化的括號中括號:'P(0)'來'P [0]' –

回答

0

這只是一個錯字/初學者錯誤 - 序列使用方括號索引或切片。 python中的圓括號表示函數調用。

我加入的答案正確的縮進錯誤,並使其與列表切片更Python:

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:] 
1

line.split(',')返回一個列表。使用[]括號標記

list[0]返回的第一個元素在列表
list[1]返回第二個元素列表
等等

你是什麼名單

您訪問的元素試圖做的是list(0),這是一個語法錯誤。

Python會將list(0)解釋爲嘗試使用參數0來調用仿函數。有沒有一個list函數調用操作,因此錯誤:

'list' object is not callable 
+1

你可以添加列表是不可調用和這就是錯誤被提出的原因。 –

+0

@Slayther完成,謝謝 –