日及;Python上的年数

日及;Python上的年数,python,list,tuples,days,Python,List,Tuples,Days,我需要在下面的元组中安排一周中的几天,并将其分配到一年中的某一天(从1到365)。我必须在不转换列表中的元组的情况下执行此操作。当然,我的第一次尝试是转换列表上的元组,扩展它并使用zip()函数。你知道如何不用循环来转换元组吗 非常感谢 days = ("lunes","martes","miércoles","jueves","viernes","sábado","

我需要在下面的元组中安排一周中的几天,并将其分配到一年中的某一天(从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)

要在天数列表中循环,可以使用
itertools
软件包中的
cycle
功能

导入itertools
天数=(“伦斯”、“马蒂斯”、“米尔科尔斯”、“朱埃夫斯”、“维尔内斯”、“萨巴多”、“多明戈”)
数字=范围(1366)
对于j,zip中的i(itertools.周期(天),编号):
打印(i,j)
``

一个比@thomas\u bssnt更简单的答案可能是这样做

days = ("lunes", "martes", "miércoles", "jueves", "viernes", "sábado", "domingo")

for i in range(1, 366):
    print(i, days[i%7-1])

那么dicts呢?谢谢你的回复!我%7-1是什么意思?这是我第一次看到它!再次感谢,:)在python中,
%
是模运算符,它返回两个数字之间的剩余欧几里德除法。例如,
a%b
返回
a
by
b
的剩余欧几里德除法。这里我们将应用
i%7
,这意味着输出将介于
0
6
之间,因为剩余的欧几里得除以
7
不能大于或等于
7
。我们添加-1是因为
1%7
等于
1
,我们想要0。谢谢!!注意!你帮了我很多!