如何将带有str('123')的int转换为int

时间:2019-09-02 09:07:31

标签: python-3.x string int converters

例如,之前:

a = {'a': '1234', 'b': 'asdf', 'c': '456'}

之后:

a = {'a': 1234, 'b': 'asdf', 'c': 456}

旋转a,如果要转换为整数,我想制作int

2 个答案:

答案 0 :(得分:3)

dict-comprehension适合完成此任务,您可以使用str.isdigit()在将字符串转换为int之前检查字符串是否为数字:

new_a = {k : int(v) if v.isdigit() else v for k, v in a.items()} 

print(new_a)

输出:

{'a': 1234, 'b': 'asdf', 'c': 456}

答案 1 :(得分:0)

a = {'a': '1234', 'b': 'asdf', 'c': '456'}
for i in a:
    try:
        b=int(a[i])
        a[i]=b
    except:
        pass

print(a)

实际上try / except是巨魔,但它是另一种方式。