从列表中创建一个dict

时间:2018-02-21 08:39:09

标签: python python-2.7 list dictionary

我正在尝试使用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"}

2 个答案:

答案 0 :(得分:3)

您可以将dictsplit的生成器表达式和过滤器

一起使用
>>> 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