我有一个文件,其中包含以下格式的数据:请注意,这是一个示例,实际文件包含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}

09-30 16:00
查看更多