将单个字典值从字符串转换为整数?

Paa*_*das 1 python string int dictionary

让我们考虑一下

set = {'a': '98', 'b': '10', 'c': 'nike', 'd': 'paarudas', 'e': '3'}
Run Code Online (Sandbox Code Playgroud)

我想改变它,

set = {'a': **98**, 'b': **10**, 'c': 'nike', 'd': 'paarudas', 'e': **3**}.
Run Code Online (Sandbox Code Playgroud)

如果我得到了,还有一个疑问

set_1 = {'a': '98', 'b': '10', 'c': 'nike', 'd': 'paarudas', 'e': ''}
Run Code Online (Sandbox Code Playgroud)

然后我必须改为

set_1 = {'a': **98**, 'b': **10**, 'c': 'nike', 'd': 'paarudas', 'e': ''}.
Run Code Online (Sandbox Code Playgroud)

kev*_*kev 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'}
Run Code Online (Sandbox Code Playgroud)

  • 在s.items()中使用`for x,y'比为每个键执行三次查找(稍微)更好.此外,它可能更像dict理解:`{x:int(y)if y.isdigit()else y for x,y in s.items()}`. (2认同)