Skip to main content
 首页 » 编程设计

python之拆分字典的字符串值

2025年05月04日18cmt

我有这本字典:

{ 
    1: '1 2', 
    2: '2 3', 
    3: '2 3', 
    ... 
} 

我想将每个键的值分离到一个单独元素的列表中 所以我希望它看起来像这样:

{ 
    1: [1,2], 
    2: [2,3], 
    ... 
} 

请您参考如下方法:

使用字典理解:

>>> d = { 
...     1: '1 2', 
...     2: '2 3', 
...     3: '2 3', 
...     4: '4 3 1', 
...     5: '3 4', 
...     6: '5 4 2 1', 
...     7: '4 4', 
...     8: '8 3 5 2', 
...     9: '5 7', 
...     10: '15 11 8 9 6 3 4', 
...     11: '6 2', 
...     12: '9 5', 
...     13: '7 3', 
... } 
>>> d2 = {key: list(map(int, value.split())) for key, value in d.items()} # `list` can be omitted in Python 2.7 
>>> d2 
{1: [1, 2], 2: [2, 3], 3: [2, 3], 4: [4, 3, 1], 5: [3, 4], 6: [5, 4, 2, 1], 7: [4, 4], 8: [8, 3, 5, 2], 9: [5, 7], 10: [15, 11, 8, 9, 6, 3, 4], 11: [6, 2], 12: [9, 5], 13: [7, 3]} 

反转:

>>> {key: ' '.join(map(str, value)) for key, value in d2.items()} 
{1: '1 2', 2: '2 3', 3: '2 3', 4: '4 3 1', 5: '3 4', 6: '5 4 2 1', 7: '4 4', 8: '8 3 5 2', 9: '5 7', 10: '15 11 8 9 6 3 4', 11: '6 2', 12: '9 5', 13: '7 3'}