详细说明,例如:我有一个工作日列表:
list_week_day = [0,2,4,5,6]
如果 today.weekday()= 3 ,则订购 list_week_day = [4,5,6,0,2]
那么,怎么做???
答案 0 :(得分:6)
new = old[n:] + old[:n]
将列表的前部附加到后部。那个暗示之后你能完成吗? n 是您的工作日。
答案 1 :(得分:2)
您是否尝试过以下操作?我怀疑它不是获得你想要的最有效的方式,但它肯定是一种获得它的方法。
list_week_day[today.weekday() : ] + list_week_day[ : today.weekday()]
答案 2 :(得分:2)
还可以尝试:
wday = 3
[(x + wday) % 7 for x in list_week_day]
# [3, 4, 5, 6, 0, 1, 2]
答案 3 :(得分:1)
根据建议here,您可以使用numpy的roll命令,选择合适的值来滚动:
>>> import numpy
>>> a=numpy.arange(1,10) #Generate some data
>>> numpy.roll(a,1)
array([9, 1, 2, 3, 4, 5, 6, 7, 8])
>>> numpy.roll(a,-1)
array([2, 3, 4, 5, 6, 7, 8, 9, 1])
>>> numpy.roll(a,5)
array([5, 6, 7, 8, 9, 1, 2, 3, 4])
>>> numpy.roll(a,9)
array([1, 2, 3, 4, 5, 6, 7, 8, 9])