You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何仅用两个字典的值创建新字典及实现月份首尾日期元组输出

实现循环输出月份首尾日的方案

你可以新增一个存储「月份数字-当月天数」的映射字典,配合你现有的月份字典即可实现需求,平年场景下的实现代码如下:

# 你原有的月份缩写映射字典
month_abbr_map = {  
    "jan": 1,  
    "fev": 2,  
    "mar": 3,  
    "abr": 4,  
    "mai": 5,  
    "jun": 6,  
    "jul": 7,  
    "ago": 8,  
    "set": 9,  
    "out": 10,  
    "nov": 11,  
    "dez": 12  
}
# 新增月份天数映射字典(平年2月按28天计算,需要支持闰年可自行添加判断逻辑)
month_days_map = {
    1:31, 2:28, 3:31, 4:30, 5:31, 6:30,
    7:31, 8:31, 9:30, 10:31, 11:30, 12:31
}

# 循环输出结果
for month_num in month_abbr_map.values():
    first_day_item = (month_num, 1)
    last_day_item = (month_num, month_days_map[month_num])
    print(f"{first_day_item} {last_day_item}")

运行后输出的内容和你要求的格式完全一致。


用两个字典的值创建新字典的方法

可以用字典推导式实现,举个例子:假设你有两个字典dict_a和dict_b,二者有相同的键,你想把相同键对应的值组合起来作为新字典的值,实现代码如下:

dict_a = {"a":1, "b":2, "c":3}
dict_b = {"a":10, "b":20, "c":30}

# 生成新字典:新值为两个字典对应值的元组
new_dict = {key: (dict_a[key], dict_b[key]) for key in dict_a if key in dict_b}

# 输出结果为 {'a': (1, 10), 'b': (2, 20), 'c': (3, 30)}
print(new_dict)

如果你的两个字典键不同,或者需要自定义值的组合逻辑,只需要修改推导式里的键匹配规则和值的生成逻辑即可。

内容的提问来源于stack exchange,提问作者Gabriel Salvador

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 10:18:04