擅长:python、mysql、java
<p>你在电脑世界里寻找的是一个循环的转变。常用的数据结构是<code>deque</code>。你知道吗</p>
<p>假设您的元素是唯一的,或者您有其他方法来计算“起始元素”的索引。你知道吗</p>
<pre><code>from collections import deque
def magicify(mylist, letter):
mydeque = deque(mylist)
# Keep shifting elements on the right to the left until
# you hit the chosen value (letter)
popped = mydeque.pop()
while (popped != letter):
mydeque.appendleft(popped)
popped = mydeque.pop()
mydeque.appendleft(letter)
return mydeque
</code></pre>
<p>通过在整个过程中使用deque而不是list,您可以提高所有这些的效率。这样就可以删除函数中的第一个转换步骤。你知道吗</p>