拆分列表以制作字典python

时间:2014-04-12 07:20:16

标签: python list dictionary

我在编程方面相当新,我正在尝试制作列表和词典。我有一个列表,其中包含用冒号分隔的数字和字母

lst = ['1:A', '2:B', '3:C', '4:A']

我想制作一个看起来像这样的字典

dictionary = {'1':'A', '2':'B', '3':'B', '4':'A'}

以便键匹配数字,值与字母匹配。我以为我可以制作嵌套列表或其他东西,但我无法让它工作。如上所述,将这种类型的列表转换为字典的最佳方法是什么?

1 个答案:

答案 0 :(得分:5)

dict() constructor与生成器表达式一起使用:

dict(v.split(':') for v in lst)

这是有效的,因为dict()接受一系列(键,值)对作为输入;每个str.split()调用都会从列表中的元素生成这些内容。

演示:

>>> lst = ['1:A', '2:B', '3:C', '4:A']
>>> dict(v.split(':') for v in lst)
{'1': 'A', '3': 'C', '2': 'B', '4': 'A'}