将单个字典值从字符串转换为整数?
问题描述:
让我们考虑将单个字典值从字符串转换为整数?
set = {'a': '98', 'b': '10', 'c': 'nike', 'd': 'paarudas', 'e': '3'}
我想改变它,
set = {'a': **98**, 'b': **10**, 'c': 'nike', 'd': 'paarudas', 'e': **3**}.
还有一个疑问,如果我得到
set_1 = {'a': '98', 'b': '10', 'c': 'nike', 'd': 'paarudas', 'e': ''}
那么我将其更改为
set_1 = {'a': **98**, 'b': **10**, 'c': 'nike', 'd': 'paarudas', 'e': ''}.
答
$ python3
>>> s = {'a': '98', 'b': '10', 'c': 'nike', 'd': 'paarudas', 'e': '3'}
>>> {k:int(v) if v.isdigit() else v for k,v in s.items()}
{'a': 98, 'c': 'nike', 'b': 10, 'e': 3, 'd': 'paarudas'}
答
def int_if_possible(value):
try: return int(value)
except: return value
result = dict((k, int_if_possible(v)) for (k, v) in original.items())
请不要致电您的变量set
;这是另一种数据类型(如dict
)。
你的代码中的'**'是什么意思? – citxx 2012-03-09 12:02:22
它应该是大胆的 – San4ez 2012-03-09 12:05:14
你如何建立这些字典?你应该在那里做转换。 – 2012-03-09 12:09:58