Python 如何在字符串列表上使用枚举测试/运行循环的最后一次迭代

Python 如何在字符串列表上使用枚举测试/运行循环的最后一次迭代,python,for-loop,enumerate,Python,For Loop,Enumerate,我有一个程序,在这个程序中,我循环遍历使用os.walk获得的子文件夹列表(dir_list)。现在,我使用enumerate遍历完整列表,如下所示: for day_index, day_folder in enumerate(dir_list[:]): 现在,我想在最后一个元素上测试这个循环中的代码(不运行整个循环,因为程序非常大)。因此,我做了以下工作: for day_index, day_folder in enumerate(dir_list[-1]): 但是,既然dir_lis

我有一个程序,在这个程序中,我循环遍历使用os.walk获得的子文件夹列表(dir_list)。现在,我使用enumerate遍历完整列表,如下所示:

for day_index, day_folder in enumerate(dir_list[:]):
现在,我想在最后一个元素上测试这个循环中的代码(不运行整个循环,因为程序非常大)。因此,我做了以下工作:

for day_index, day_folder in enumerate(dir_list[-1]):
但是,既然dir_list是单个元素,枚举的行为就不同了,并开始遍历单个元素(碰巧是字符串),导致day_folder成为字符串的第一个元素。这当然不是我想要的。但我明白为什么会这样

如何仅在列表的最后一个元素(我的最后一个子文件夹)上运行此循环(出于测试目的)。我不想通过删除for循环来更改代码,我需要保留计数器(day_index)。

怎么样:

for day_index, day_folder in enumerate(dir_list[-1:]):

这很简单。

你看,我就知道会这么简单!我可以发誓我试过这个。。。。但无论如何,它是有效的。谢谢不客气!:)请接受我的帖子作为回答。正在等待10分钟的时间。如果我理解正确,您是否希望
枚举(列表(目录列表[-1]))
?是否有理由在第一行创建一份
目录列表的副本?(由
目录列表[:]
完成)@FlorianGD no,返回相同的结果。我需要的是枚举(dir_list[-1:]),即使用冒号强制列表切片。