我有一个像这样的字符串列表:
l = ['ABC, Apple, 20021015, 20030102', 'CDE, Graps, 20020506, 20030130']
我想将此列表转换为类似
的字典d = { 'ABC': 'Apple', 'CDE': 'Graps' }
因此密钥将是字符串中的第一个名称,而值将是字符串中的第二个名称。
答案 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']]