a = [2,"cat",None,1] try: for i in a: print(int(i)) except Exception as e: print(e) pass
如何在for循环中传递异常。我需要将for循环放在try中,并需要在异常中传递值,然后从列表中获取值1
xpszyzbs1#
您可以按如下所示修改代码,以便在for循环中传递异常,并且仍然从列表中获取值1:
a = [2,"cat",None,1] for i in a: try: print(int(i)) except Exception as e: print(e) pass
这样,try块将位于for循环内部,except块将处理在尝试将当前元素i转换为整数时引发的任何异常,如果引发异常,则将执行pass语句,允许循环继续到下一次迭代,而不停止整个循环。另一种方法是使用列表解析,过滤掉不能转换为int的元素。
a = [2,"cat",None,1] valid_list = [i for i in a if isinstance(i, (int,float))] print(valid_list)
这样,最终的列表将只包含成功转换为int型的值,而非int型的值将被过滤掉。
1条答案
按热度按时间xpszyzbs1#
您可以按如下所示修改代码,以便在for循环中传递异常,并且仍然从列表中获取值1:
这样,try块将位于for循环内部,except块将处理在尝试将当前元素i转换为整数时引发的任何异常,如果引发异常,则将执行pass语句,允许循环继续到下一次迭代,而不停止整个循环。
另一种方法是使用列表解析,过滤掉不能转换为int的元素。
这样,最终的列表将只包含成功转换为int型的值,而非int型的值将被过滤掉。