擅长:python、mysql、java
<p>假设您不想简单地进行轮换,而是遵循标题中的模式,那么维护两个列表(为了高效使用<code>collectiones.deque</code>)会更容易,从一个列表的左侧弹出,然后推到另一个列表的左侧,例如:</p>
<pre><code>import itertools as it
from collections import deque
a1 = deque(planets)
a2 = deque()
for i in range(len(planets)):
print(list(it.chain(a1,a2)))
a2.appendleft(a1.popleft())
</code></pre>
<p>输出([1,2,3,4]、[2,3,4,1]、[3,4,2,1]和[4,3,2,1]):</p>
<pre><code>[('aries', 'mars'), ('tarus', 'venus'), ('gemini', 'mercury'), ('cancer', 'moon')]
[('tarus', 'venus'), ('gemini', 'mercury'), ('cancer', 'moon'), ('aries', 'mars')]
[('gemini', 'mercury'), ('cancer', 'moon'), ('tarus', 'venus'), ('aries', 'mars')]
[('cancer', 'moon'), ('gemini', 'mercury'), ('tarus', 'venus'), ('aries', 'mars')]
</code></pre>