拆分列表并在python中存储在字典中

Pal*_*uja 1 python dictionary

假设我有一个列表,如

L = ['B0','B1','C1','C2','D1','D3']
Run Code Online (Sandbox Code Playgroud)

然后,我如何将列表拆分为值和键,并以下列形式将其存储在字典中: -

{ 'B':['0','1'],
  'C':['1','2'],
  'D':['1','3']}
Run Code Online (Sandbox Code Playgroud)

Cor*_*mer 5

L = ['B0','B1','C1','C2','D1','D3']
d = {}
for i in L:
    d.setdefault(i[0], []).append(i[1])

>>> d
{'B': ['0', '1'], 'C': ['1', '2'], 'D': ['1', '3']}
Run Code Online (Sandbox Code Playgroud)


Yur*_*ros 5

您可以遍历列表并中断每个字符串元素以创建字典.试试这个:

from collections import defaultdict

l = ['B0','B1','C1','C2','D1','D3']
d = defaultdict(list)

for key, value in l:
    d[key].append(value)

print d
Run Code Online (Sandbox Code Playgroud)

  • 您可以通过解压缩每个字符串来简单地编写代码,例如,`for key,value in:l`,然后您可以跳过接下来的两行. (2认同)