问题描述
我需要在以下元组上遍历一周中的几天,并将其分配给一年中的某一天(从 1 到 365)。我必须在不转换列表中的元组的情况下执行此操作。当然,我的第一次尝试是转换列表上的元组,扩展它并使用 zip() 函数。关于如何在不使用循环转换元组的情况下做到这一点的任何想法?
非常感谢!
days = ("lunes","martes","miércoles","jueves","viernes","sábado","domingo")
list_days = list(days)
number = list(range(1,366))
list_compl = list_days*53
list_compl
for j,i in zip(list_compl,number):
print(i,j)
解决方法
要循环查看日期列表,您可以使用 cycle
包中的 itertools
函数。
import itertools
days = ("lunes","martes","miércoles","jueves","viernes","sábado","domingo")
number = range(1,366)
for j,i in zip(itertools.cycle(days),number):
print(i,j)
``
,
比@thomas_bssnt 更简单的答案可能是这样做
days = ("lunes","domingo")
for i in range(1,366):
print(i,days[i%7-1])