在字典中,将值从字符串转换为整数

Posted

技术标签:

【中文标题】在字典中,将值从字符串转换为整数【英文标题】:In dictionary, converting the value from string to integer 【发布时间】:2012-03-02 17:19:31 【问题描述】:

以下面的例子为例:

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

我想把它转换成:

'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())

【讨论】:

请注意iteritems is gone 在Python 3 中。请改用items()【参考方案2】:

您可以使用dictionary comprehension:

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

d 是带有字符串的字典。

【讨论】:

@IvanVirabyan 您还可以在 python 2.7 中使用字典推导,因为它们已被向后移植。 事实上,该代码仅适用于 Python 2.7 。 dict.iteritems 在 3 中消失了,因为 dict.items 不再构建列表。【参考方案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

【讨论】:

【参考方案4】:

以免任何人被此页面误导 - Python 2 和 3 中的字典文字当然可以直接具有数值。

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

【讨论】:

以上是关于在字典中,将值从字符串转换为整数的主要内容,如果未能解决你的问题,请参考以下文章

将值从字符串转换为流时出错

MySQL:无法更新 JSON 列以将值从浮点数转换为整数

将 Excel 中的值从字符串更改为数字

将数组值从字符串转换为int?

将字典的键和值从“unicode”转换为“str”的最快方法?

将值从 JsonObject 转换为 BigDecimal