次のリストがあります。
['a:1', 'b:2', 'c:3', 'd:4']
順序付けられた dict に変換したい (を使用collections
):
{'a': 1, 'b': 2, 'c': 3, 'd': 4}
ここで正規表現を使用したソリューションを見てきましたが、ソリューションをロールバックするのに十分な正規表現に精通していません。これについて何か考えはありますか?
次のリストがあります。
['a:1', 'b:2', 'c:3', 'd:4']
順序付けられた dict に変換したい (を使用collections
):
{'a': 1, 'b': 2, 'c': 3, 'd': 4}
ここで正規表現を使用したソリューションを見てきましたが、ソリューションをロールバックするのに十分な正規表現に精通していません。これについて何か考えはありますか?
d = collections.OrderedDict(el.split(':') for el in your_list)
または、値を整数に変換します。
OrderedDict( (k, int(v)) for k, v in (el.split(':') for el in your_list))
値を整数として取得するには、次のようにしてみてください。
In [67]: lis=['a:1', 'b:2', 'c:3', 'd:4']
In [68]: def func(x):
spl=x.split(':')
return spl[0],int(spl[1])
....:
In [71]: dict(map(func,lis))
Out[71]: {'a': 1, 'b': 2, 'c': 3, 'd': 4}