Python:将字符串转换为整数,而不是使用try-excepts

时间:2018-01-29 17:06:30

标签: python string casting try-catch

我正在编写一个Python程序,将一组输入字符串转换为整数,然后将它们打印出来。输入字符串不需要是整数(例如,它们可以是" udai2"),在这种情况下,我想打印出字符串无效。

我原来只是使用int函数将每个字符串转换为整数,如int(input_str)。然后,我用try catch包围这段代码,以便了解转换何时不起作用(因此输入不是有效输入):

    try:
        print(int(item))
    except:
        print("Not a valid input")

但是,考虑到输入的大小,我担心这不是最有效的方法,因为try-except的except部分真的会影响性能。运行。有更快的方法吗?

1 个答案:

答案 0 :(得分:0)

根据输入文件中非int的出现频率,你可以在try-catch内的循环中读取它们,在每次读取时保持一个计数器,从而找出出现异常的错误。如果非英特尔相对较少,这可以提供一些优势。

try-catch应该在一个外部while循环内部,只要有数据遗留,就会在故障之后重新启动内部while循环(读取循环)一个数字。

通过这种方式,您不必输入大量的试块。 但总的来说,首先要确定在引入任何这种复杂性之前是否确实存在问题。