python - 如何在 try block 中的条件执行相同的代码而不在 except 子句中重复代码

标签 python exception

我正在检查列表的连续索引,并且我想执行相同的代码,以防连续元素不相等或列表索引超出范围。 这就是我正在尝试的

for n in range(len(myList))
    try:
         if myList[n]==myList[n+1]:
             #some code
         else:
             #if they are not equal then do something
             #same code should execute if exception raised: index error  --> how do i do this?

有没有一种方法可以优雅地做到这一点,而不必以某种方式在 except block 中重复相同的代码?

最佳答案

执行此操作的一种简单方法是仅修改 if 语句以检查候选元素是否不是最后一个,从而避免需要异常子句并保持代码简短。

    for n, i in enumerate(myList):
       if n+1 != len(myList) and i == myList[n+1]:
           #some code
       else:
           #if they are not equal then do something
           #This block will also be exicuted when last element is reached

关于python - 如何在 try block 中的条件执行相同的代码而不在 except 子句中重复代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23559765/

相关文章:

python - 限制 Pandas Pivot 中的列值

python - .NET 开发人员转向 ubuntu 进行开发

python - Django 自定义后端导致登录错误

java - 为什么我会遇到异常(exception)?

java - finally block 末尾的参数索引超出 mysql 范围

java - XML 验证。打开的文件太多

c# - 面试题: Exception within Event Handler

python - 查找列表中的任何字符串元素是否包含在字符串列表中

python - python中的lxml xpath,如何处理丢失的标签?

android - 使用 Material Design 当程序从启动器 Activity 转到另一个时应用程序崩溃