Python 我能避免这种繁琐的列表理解吗

Python 我能避免这种繁琐的列表理解吗,python,list-comprehension,Python,List Comprehension,有一个列表,其中包括以下数据: a = ['key1=value1','key2=value2','key3=value3',...,'key100=value100'] 我写了下面的代码,它将列表转换为一行中的一个dict b = dict((list(item.split('='))[0], list(item.split('='))[1]) for item in a (我的Python版本是2.6,它不支持字典理解。) 我的问题: 有没有办法重写代码,哪种更简洁?e、 g b=dic

有一个列表,其中包括以下数据:

a = ['key1=value1','key2=value2','key3=value3',...,'key100=value100']
我写了下面的代码,它将列表转换为一行中的一个dict

b = dict((list(item.split('='))[0], list(item.split('='))[1]) for item in a
(我的Python版本是2.6,它不支持字典理解。)

我的问题:
有没有办法重写代码,哪种更简洁?e、 g

b=dict(x,y) for item.split('=') in a       [WRONG]
我觉得
list(item.split('='))[0]
list(item.split('='))[1]
非常麻烦

[更新]
@TigerhawkT3,这个链接并不能解决我的问题,因为我的问题与学习如何在Python 2.7之前编写dict理解无关。

一个字典可以包含一个iterable,返回的iterable正好包含两个对象。这应该做到:

d = dict([item.split('=', 1) for item in a])
或者,您可以使用
map()


为什么不
dict([x.split('=')表示a中的x])
?与Henriks类似:
b=dict(item.split(“=”)表示a中的项)
。在Python2.7中运行,不确定2.6是否需要“[]”。灵感来自
d = dict(map(lambda item: item.split("=", 1), a))