【发布时间】:2016-04-14 17:29:46
【问题描述】:
有一个列表,其中包含以下数据,
a = ['key1=value1','key2=value2','key3=value3',...,'key100=value100']
我写了下面的代码,它将列表转换为一行中的一个字典,
b = dict((list(item.split('='))[0], list(item.split('='))[1]) for item in a
(我的 Python 版本是 2.6,不支持字典理解。)
我的问题:
有没有办法重写代码,更简洁?例如,
b=dict(x,y) for item.split('=') in a [WRONG]
我觉得list(item.split('='))[0]和list(item.split('='))[1]真的很麻烦。
[更新]
@TigerhawkT3,链接Alternative to dict comprehension prior to Python 2.7 没有解决我的问题,因为我的问题与学习如何在 Python 2.7 之前编写字典理解无关。
【问题讨论】:
-
为什么不
dict([x.split('=') for x in a])? -
与 Henriks 类似:
b = dict(item.split("=") for item in a)。在 python 2.7 中运行不确定 2.6 是否需要`[]。灵感来自here