【发布时间】:2017-10-16 08:30:27
【问题描述】:
我有一个返回字典的代码
名称作为键和对应的值是元组
数字。名字后面的第一个数字控制有多少个数字
在对应的元组中(元组中包含的数字取
从左到右)。比如"Ali 6 7 6 5 12 31 61 9"这行文字,名字后面的第一个数字是6,这行文字
成为带有关键字“Ali”的字典条目,并且
对应的值是由接下来的六个整数“Ali”组成的元组:
(7、6、5、12、31、61)。
这是我从中获取代码的电影
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
但是我遇到了这个错误 长度 = 整数(数据 [1]) IndexError: 列表索引超出范围
有人可以帮忙吗?这将非常有帮助。第一次学习,字典有点弱。
【问题讨论】:
-
你试过使用调试器吗?
-
没有了解那个函数....它在python程序的什么地方?
标签: python dictionary tuples