私はこの辞書を持っています:
{
1: '1 2',
2: '2 3',
3: '2 3',
...
}
そして、各キーの値を個々の要素のリストに分けたいので、次のようにしたいです:
{
1: [1,2],
2: [2,3],
...
}
私はこの辞書を持っています:
{
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'}
を使用しますstr.split()
:
d = { 1: '1 2', 2: '2 3', 3: '3 4' }
wanted = {key: [int(val) for val in value.split()] for key, value in d.iteritems()}
文字列分割は、空白で値を分割します。
str.split()
したがって、辞書のキー、値を繰り返し、値を更新するだけです。
for key, value in mydictionary.iteritems():
mydictionary[key] = value.split()