我有一個代碼返回一個字典,其中 名稱作爲鍵和對應的值爲 數字的元組。名稱後面的第一個數字控制相應元組中有多少個數字爲 (包含在元組中的數字從左到右爲 )。例如,文本行"Ali 6 7 6 5 12 31 61 9"
具有6作爲名稱後面的第一個數字,並且該行文本 成爲具有關鍵字「Ali」的字典條目,並且對應值是由接下來的六個整數「Ali 「: (7,6,5,12,31,61)。通過使用文本文件的元組到Python字典
這是
Bella 5 2 6 2 2 30 4 8 9 2
Gill 2 9 7 54 67
Jin 3 26 51 3 344 23
Elmo 4 3 8 6 8
Ali 6 7 6 5 12 31 61 9
我走的代碼電影的預期輸出
Ali : (7, 6, 5, 12, 31, 61)
Bella : (2, 6, 2, 2, 30)
Elmo : (3, 8, 6, 8)
Gill : (9, 7)
Jin : (26, 51, 3)
,所以我做了這樣的
def get_names_num_tuple_dict(filename):
file_in = open(filename, 'r')
contents = file_in.read()
file_in.close()
emty_dict = {}
for line in contents:
data = line.strip().split()
key = data[0]
length = int(data[1])
data = tuple(data[2:length + 2])
emty_dict[key] = data
return emty_dict
但我m有這個錯誤 length = int(data [1]) IndexError:列表索引超出範圍
任何人都可以請幫忙嗎?這將非常有幫助。我第一次學習字典時有點虛弱。
你有甚至試圖使用調試器? –
沒有了解該功能....它在Python程序中的位置? – dipte