我有一个文件,其中包含以下格式的数据:请注意,这是一个示例,实际文件包含2行以上
1 30 5
2 64 4
我读取文件,将文本转换为整数,并将它们存储到一个列表中。这是通过以下代码完成的:
file = open("dataFile.txt", "r")
items = []
for line in file:
line = map(int,line.split()) #convert the text data to integers
items.append(line) #add text data to list
列表的当前格式如下:
[[1, 30, 5], [2, 64, 4]]
我需要把我的列表变成一本字典。你会怎么做?
字典键应该是第一个元素
最佳答案
我来猜猜你想要什么,假设每行的第一个数字实际上是某种顺序标识符,你想要
1 30 5
2 64 4
成为
1 : [30, 5]
2 : [64, 4]
所以…
with open("dataFile.txt") as dataFile:
items = {}
for line in dataFile:
line = map(int, line.split()) #convert the text data to integers
key, value = line[0], line[1:]
items[key] = value
(我已经更改了
file
的名称,因为在Python中,file()
已经是一个内置函数,将该名称用于其他东西是不好的形式)。或者,您可以使用字典理解,从项目列表开始:
itemDict = {item[0]: item[1:] for item in items}