我如何使用' dict'没有列表理解

时间:2018-01-21 05:49:58

标签: python python-2.7 dictionary

我是python的初学者,如果有人可以帮助我理解为什么dict与列表理解一起工作并且在我的情况下不能使用简单的参数参数,那将会很有帮助?下面给出了两个代码示例,

输入:(我正在读取.txt文件中的数据并转换为JSON)

vm4 : Windows10
vm2 : Ubuntu14
vm1 : Ubuntu14
vm3 : MacOSX10.11

工作代码。

file1 = dict(i.split(':') for i in file1.split('\n'))

代码无效

for i in file1.split('\n'):
    print dict(i.split(':'))

ValueError                                Traceback (most recent call last)
<ipython-input-176-048ba6a1e29b> in <module>()
      1 for i in file1.split('\n'):
----> 2     print dict(i.split(':'))

ValueError: dictionary update sequence element #0 has length 4; 2 is required

1 个答案:

答案 0 :(得分:2)

您是否尝试将文本文件的内容转换为字典?

如果是这样,这就是你想要的:

d = {}
with open("text.txt") as f:  
    for line in f:
        key, value = line.strip().split(' : ')
        d[key] = value
print(d)

输出:

{'vm4': 'Windows10', 'vm2': 'Ubuntu14', 'vm1': 'Ubuntu14', 'vm3': 'MacOSX10.11'}