我在编程方面相当新,我正在尝试制作列表和词典。我有一个列表,其中包含用冒号分隔的数字和字母
lst = ['1:A', '2:B', '3:C', '4:A']
我想制作一个看起来像这样的字典
dictionary = {'1':'A', '2':'B', '3':'B', '4':'A'}
以便键匹配数字,值与字母匹配。我以为我可以制作嵌套列表或其他东西,但我无法让它工作。如上所述,将这种类型的列表转换为字典的最佳方法是什么?
答案 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'}