我不确定这种技术的术语。我想创建一个列表,如果我尝试访问列表范围之外的元素,该列表将“自行循环”。我想要实现的行为示例:
>>> musical_scale = ['C', 'D', 'E', 'F', 'G', 'A', 'B']
>>> musical_scale[2]
E
>>> musical_scale[7]
C
>>> musical_scale[-1]
B
我想我可以写一个这样做的类,但我认为可能有更正确的方法来做到这一点。
最佳答案
使用模数运算符 %
在索引超过列表末尾后“循环返回”
>>> musical_scale = ['C', 'D', 'E', 'F', 'G', 'A', 'B']
def getValue(x, l):
return l[x % len(l)]
>>> getValue(0, musical_scale)
'C'
>>> getValue(9, musical_scale)
'E'
关于python - list[n] 如何指向 list[0]?获取不按顺序的项目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25407416/