Python:从一堆“key:value”字符串创建字典?

时间:2011-07-17 23:10:24

标签: python list dictionary

假设我已将其加载到列表中:

info = ['apple: 1', 'orange: 2', 'grape: 3']

如何将其转换为

之类的内容
info = {line[0]: line[1] for line.split(': ') in info}

所以我实际上有一个词典?

2 个答案:

答案 0 :(得分:7)

你非常接近!

>>> info = ['apple: 1', 'orange: 2', 'grape: 3']
>>> info = dict(line.split(': ') for line in info)
>>> info
{'orange': '2', 'grape': '3', 'apple': '1'}

你可以按照你在Python 2.7+中尝试的方式进行,但是你必须分开分割线,所以使用dict会更好。

这就是我的意思:

info = ['apple: 1', 'orange: 2', 'grape: 3']
info = {fruit:num for fruit, num in (line.split(': ') for line in info)}

答案 1 :(得分:2)

你可以写:

dict(tuple(line.split(': ')) for line in info)