日及;Python上的年数
我需要在下面的元组中安排一周中的几天,并将其分配到一年中的某一天(从1到365)。我必须在不转换列表中的元组的情况下执行此操作。当然,我的第一次尝试是转换列表上的元组,扩展它并使用zip()函数。你知道如何不用循环来转换元组吗 非常感谢日及;Python上的年数,python,list,tuples,days,Python,List,Tuples,Days,我需要在下面的元组中安排一周中的几天,并将其分配到一年中的某一天(从1到365)。我必须在不转换列表中的元组的情况下执行此操作。当然,我的第一次尝试是转换列表上的元组,扩展它并使用zip()函数。你知道如何不用循环来转换元组吗 非常感谢 days = ("lunes","martes","miércoles","jueves","viernes","sábado","
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
byb
的剩余欧几里德除法。这里我们将应用i%7
,这意味着输出将介于0
和6
之间,因为剩余的欧几里得除以7
不能大于或等于7
。我们添加-1是因为1%7
等于1
,我们想要0。谢谢!!注意!你帮了我很多!