关于python:在字典中,将值从字符串转换为整数

In dictionary, converting the value from string to integer

以下面的例子为例:

1
2
3
4
5
'user_stats': {'Blog': '1',
                'Discussions': '2',
                'Followers': '21',
                'Following': '21',
                'Reading': '5'},

我想把它转换成:

1
'Blog' : 1 , 'Discussion': 2, 'Followers': 21, 'Following': 21, 'Reading': 5

1
dict_with_ints = dict((k,int(v)) for k,v in dict_with_strs.iteritems())


您可以使用字典理解:

1
{k:int(v) for k, v in d.iteritems()}

其中d是带字符串的字典。


1
2
3
>>> d = {'Blog': '1', 'Discussions': '2', 'Followers': '21', 'Following': '21', 'Reading': '5'}
>>> dict((k, int(v)) for k, v in d.iteritems())
{'Blog': 1, 'Discussions': 2, 'Followers': 21, 'Following': 21, 'Reading': 5}

避免任何人被这个页面误导——当然,python 2和3中的字典文本可以直接使用数值。

1
2
embed={ 'the':1, 'cat':42, 'sat':2, 'on':32, 'mat':200, '.':4 }
print(embed['cat']) # 42