我正在尝试使用Python 2.7从列表创建一个dict
这是我的清单:
x = ['+proj=geos',
'lon_0=86.5',
'h=35785993.3373',
'x_0=0',
'y_0=0',
'a=6378160',
'b=6356775',
'units=m',
'no_defs ']
在我列表中的每个元素中,都有我的键和我的值用char“=”分隔。 结果,我想要这个:
d = {"+proj": "geos", "lon_0": "86.5", "h": "35785993.3373", "x_0": "0", "y_0": "0", "a": "6378160", "b": "6356775", "units": "m"}
答案 0 :(得分:3)
您可以将dict
与split
的生成器表达式和过滤器
>>> dict(y.split("=") for y in x if "=" in y)
{'+proj': 'geos',
'a': '6378160',
'units': 'm',
'b': '6356775',
'y_0': '0',
'x_0': '0',
'h': '35785993.3373',
'lon_0': '86.5'}
答案 1 :(得分:2)
尝试这样的事情:
d = {}
for i in x:
if '=' not in i: continue # skip if no pair given
key, value = i.split('=') # split into pair
d.update({key : value}) # update dict with pair