已关闭。此问题需要details or clarity。它目前不接受回答。
**希望改进此问题?**通过editing this post添加详细信息并阐明问题。
16小时前关闭
Improve this question的
我想这么做
Nonleap_year = {
1: 31,
2: 28,
3: 31,
4: 30,
5: 31,
6: 30,
7: 31,
8: 31,
9: 30,
10: 31,
11: 30,
12: 31,
}
字符串
但我不满意,我试着这样做,它没有工作。
Nonleap_year = {1,3,5,7,8,10,12:31,4,6,9,11:30,2:28}
型
如果我能这样做,它将是简单而有效的,具有简洁的代码。
Nonleap_year = {1,3,5,7,8,10,12:31,4,6,9,11:30,2:28}
Leap_year = {1,3,5,7,8,10,12:31,4,6,9,11:30,2:29}
型
Python认为这是一个集合,冒号不应该出现在这里。请告诉我达到这个目标的最简单的方法。
我现在知道的最好的方法是使用dict.fromkeys创建两个字典,然后合并它们。
4条答案
按热度按时间xcitsw881#
使用
monthrange
函数您可以使用calendar模块中的
monthrange
等函数,而不是手动写入每个值。您可以将year和month作为参数传递,并获取一个月的天数。monthrange
返回一年中指定月份的一个月的第一天的工作日和一个月的天数。字符串
输出量:
型
hvvq6cgz2#
你提出的使用
dict.fromkeys
的方法听起来很合理。您可以使用字典解包语法将它们合并到单个表达式中:字符串
dddzy1tm3#
创建一个反向Mapfirst - key,表示最终dict中的值,并列出所有应该具有此值的键:
字符串
而不是做一个dict解析来反转这个Map:
型
输出量:
型
s3fp2yjn4#
可以使用
fromkeys()
字符串
表达式
d | other
负责合并两个字典,而当d
和other
共享键时,other
的值优先。