我有一个类别列表(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
Run Code Online (Sandbox Code Playgroud)
from random import randrange
cats = [1,2,3,4]
i = randrange(len(cats))
for c in cats[i:]+cats[:i]:
pass
Run Code Online (Sandbox Code Playgroud)
(改变choice到randrange为每建议)
| 归档时间: |
|
| 查看次数: |
1767 次 |
| 最近记录: |