我有一个类别列表(1-4),我想要一个循环迭代所有这些.但是我需要能够以随机类别开始并且如果我的起点位于列表[0]之前,则回绕到列表的开头.
我能够以相当冗长的方式做到这一点,但我想知道是否有更快/更优雅的方式.这就是我所做的(并且它有效):
def categorize(self, cat):
    cats = [1,2,3,4]
    if cat > 1: 
        ncats = cats[:(cat-1)]
        cats = cats[(cat-1):]
        cats.extend(ncats)
    for c in cats:
        pass
from random import randrange
cats = [1,2,3,4]
i = randrange(len(cats))
for c in cats[i:]+cats[:i]:
   pass
(改变choice到randrange为每建议)