【发布时间】:2020-09-29 09:14:31
【问题描述】:
如果我的文件每行包含 2 个字母,以空格分隔,例如:
a b
c d
e f
如何创建一个函数来读取它并将其转换为字典,其中每行的第一个字母是键,每行的第二个字母是值?
【问题讨论】:
标签: python python-3.x
如果我的文件每行包含 2 个字母,以空格分隔,例如:
a b
c d
e f
如何创建一个函数来读取它并将其转换为字典,其中每行的第一个字母是键,每行的第二个字母是值?
【问题讨论】:
标签: python python-3.x
此代码首先逐行读取文件,然后将每一行拆分为一个二维数组,如下所示:
[[a, b],
[c, d]
...
]
它根据这个数组添加字典条目(mydict[a] = b 等等)。
with open("filename", "r") as file:
myinput = file.readlines()
myinput = [i.split(" ") for i in myinput]
mydict = {}
for i in myinput:
mydict[i[0]] = i[1]
正如@wjandrea 所指出的,你也可以这样写上面的代码:
with open("filename", "r") as file:
mydict = {line.split() for line in file}
【讨论】:
input 是一个错误的变量名,因为它隐藏了内置的 input()
mydict = {line.split() for line in file}