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)) 学期。
我有一个关于 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)) 学期。