В словаре преобразование значения из строки в целое число - PullRequest
14 голосов
/ 10 февраля 2012

Используя приведенный ниже пример:

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

Я хочу преобразовать его в:

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

Ответы [ 4 ]

15 голосов
/ 10 февраля 2012
dict_with_ints = dict((k,int(v)) for k,v in dict_with_strs.iteritems())
13 голосов
/ 10 февраля 2012

Вы можете использовать словарь :

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

, где d - словарь со строками.

2 голосов
/ 10 февраля 2012
>>> 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}
1 голос
/ 01 декабря 2018

Чтобы никого не вводить в заблуждение этой страницей - литералы словаря в Python 2 и 3 могут, конечно, иметь числовые значения напрямую.

embed={ 'the':1, 'cat':42, 'sat':2, 'on':32, 'mat':200, '.':4 }
print(embed['cat']) # 42
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...