让我们考虑一下
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': ''}.
答案 0 :(得分:6)
$ 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'}
答案 1 :(得分:4)
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
)。