Python:列表列表到字典

标签 python list dictionary

<分区>

我有一个包含以下格式数据的文件:请注意这是一个示例,实际文件包含超过 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 的名称,因为 file() 已经是 Python 中的一个内置函数,将这个名称重用于其他东西是不好的形式) .


或者您可以改用字典理解,从您的项目列表开始:

itemDict = {item[0]: item[1:] for item in items}

关于Python:列表列表到字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34191817/

相关文章:

python - 使用python的快速修复,多次心跳后接收器突然看不到我的了?

c++ - 使用列表迭代器获取所有值

python - 使用带有包含数字/空格的参数的 ols 函数

dictionary - 如何检查 map 是否包含Go中的键?

javascript - 元组/二维数组的 ES6 映射函数

python - 编辑字典中的值

javascript - 如何从 Python 执行 JavaScript 代码?

python - 计算python中各行中模式出现的次数

python - 如何将 R 变量传递给 python 函数的系统调用?

python - 如何在记录列表和数组时插入换行符?