我有一个代码返回一个字典,其中 名称作为键和对应的值为 数字的元组。名称后面的第一个数字控制相应元组中有多少个数字为 (包含在元组中的数字从左到右为 )。例如,文本行"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