Python,按索引替代列表

Python, alternate list by index

我有一个关于 python 系统的问题,它有一个 7 天的时间表,每一天都是这个列表的索引。问题是我们有一个 24 小时的时间表,所以每周的时间表应该像图片中那样交替。其中一个规则是范围的第一周总是在6(星期日)结束,而一周的结束日期可以在任何一天结束。

也许我以一种更难的方式看到了它。我希望能有所帮助。提前致谢。

检查迭代变量是偶数还是奇数,并将适当的列表附加到结果。

result = []
for i in range(5):
    if i % 2 == 0: 
        result += list(range(7))
    else:
        result += list(range(1, 7)) + [1]
print(result)

像这样的东西有效:

days = 7 
weeks = 4
schedule = [(d+ w%2)%days + int((d+w%2)>(days-1)) for w in range(weeks) for d in range(days)]`

这基本上是说,如果是奇数周 (w%2 = 1),则在正常时间表中添加一个,并且不允许最后一天等于 0,这就是我添加 int(( d+w%2)>(days-1)) 学期。