我正在编写一个Python程序,将一组输入字符串转换为整数,然后将它们打印出来。输入字符串不需要是整数(例如,它们可以是" udai2"),在这种情况下,我想打印出字符串无效。
我原来只是使用int
函数将每个字符串转换为整数,如int(input_str)
。然后,我用try catch包围这段代码,以便了解转换何时不起作用(因此输入不是有效输入):
try:
print(int(item))
except:
print("Not a valid input")
但是,考虑到输入的大小,我担心这不是最有效的方法,因为try-except的except
部分真的会影响性能。运行。有更快的方法吗?
答案 0 :(得分:0)
根据输入文件中非int的出现频率,你可以在try-catch内的循环中读取它们,在每次读取时保持一个计数器,从而找出出现异常的错误。如果非英特尔相对较少,这可以提供一些优势。
try-catch应该在一个外部while循环内部,只要有数据遗留,就会在故障之后重新启动内部while循环(读取循环)一个数字。
通过这种方式,您不必输入大量的试块。 但总的来说,首先要确定在引入任何这种复杂性之前是否确实存在问题。