在Python中将字符串列表转换为字典

时间:2015-07-31 16:29:27

标签: python python-3.x dictionary

我有一个像这样的字符串列表:

l = ['ABC, Apple, 20021015, 20030102', 'CDE, Graps, 20020506, 20030130']

我想将此列表转换为类似

的字典
d = { 'ABC': 'Apple', 'CDE': 'Graps' }

因此密钥将是字符串中的第一个名称,而值将是字符串中的第二个名称。

3 个答案:

答案 0 :(得分:5)

这适用于Python 2:

d = {j[0]:j[1] for j in [i.split(', ') for i in l]}

输出:

{'CDE': 'Graps', 'ABC': 'Apple'}

答案 1 :(得分:2)

你可以这样做:

for index in range(len(l)):
    line = l[index].split(", ")
    d[line[0]] = line[1]

因此,您可以用逗号分隔每个条目以分别获取每个名称和日期,然后您可以将它们分别添加到dict中。

答案 2 :(得分:0)

替代,缩短形式:

>>> dict(x.split(', ')[:2] for x in l)
{'ABC': 'Apple', 'CDE': 'Graps'}

这是通过将一系列两元素列表传递给dict(),然后根据该序列初始化字典来实现的。传递的顺序是:

>>> [x.split(', ')[:2] for x in l]
[['ABC', 'Apple'], ['CDE', 'Graps']]