如何 test/run 在字符串列表上使用枚举来循环的最后一次迭代
How to test/run last iteration of loop using enumerate on a list of strings
我有一个程序,我在其中循环遍历使用 os.walk 获得的子文件夹列表 (dir_list)。现在,我使用枚举遍历整个列表,如下所示:
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:]):
这很简单list slicing。
我有一个程序,我在其中循环遍历使用 os.walk 获得的子文件夹列表 (dir_list)。现在,我使用枚举遍历整个列表,如下所示:
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:]):
这很简单list slicing。