【发布时间】:2021-03-07 03:48:43
【问题描述】:
假设我有一个类似a = ["dog", "cat", "house", "mouse", "goose"] 的列表。如果我想在 a[3] 开始一个 for 循环并在 a[2] 结束它,我该怎么做? a[3:2] 当然会返回一个空列表,所以我无法对其进行迭代。有没有比迭代a[3:]+a[:3] 更 Pythonic 的方法?
明确地说,我想要的是有一个从 a[n] 开始的 for 循环,然后转到 a[n+1]、a[n+2] 等直到列表末尾;然后,当到达列表的最后一个元素时,循环从a[0] 继续,一直持续到a[n-1](与a[3:]+a[:3] 获得的相同)。
【问题讨论】:
-
是的。您可以反向迭代。查找 ::-1。
-
听起来
a[n:] + a[:n]就是你要找的东西。