我需要获取任何长度的列表并将其移动某个整数值。在这个特定的应用程序中,列表可以被认为是“循环的”,因此向右移动 1 将导致最后一个值以第一个值结束。
这是我所能做到的最好的(比我所有包含 for 循环的变体要好得多),而且它似乎工作,但我想知道是否有更快的东西,特别是当这些列表变得很长时。
def shift(p, U):
U = -(U % len(p))
q = p[U:]+p[:U]
return q
我需要获取任何长度的列表并将其移动某个整数值。在这个特定的应用程序中,列表可以被认为是“循环的”,因此向右移动 1 将导致最后一个值以第一个值结束。
这是我所能做到的最好的(比我所有包含 for 循环的变体要好得多),而且它似乎工作,但我想知道是否有更快的东西,特别是当这些列表变得很长时。
def shift(p, U):
U = -(U % len(p))
q = p[U:]+p[:U]
return q