Python 将日期作为键转换为日期名称

Python 将日期作为键转换为日期名称,python,Python,我有一个代码,下面我认为应该返回预期值,但我不知道它有什么问题,为什么它不能正常工作 import calendar weekdays = {'2019-10-21': 1, '2019-10-22': 2, '2019-10-23': 0, '2019-10-24': 0, '2019-10-25': 1, '2019-10-26': 0, '201

我有一个代码,下面我认为应该返回预期值,但我不知道它有什么问题,为什么它不能正常工作

import calendar

weekdays = {'2019-10-21': 1,
            '2019-10-22': 2,
            '2019-10-23': 0,
            '2019-10-24': 0,
            '2019-10-25': 1,
            '2019-10-26': 0,
            '2019-10-27': 0}

days = calendar.day_name
for day, date in zip(days, weekdays.keys()):
    weekdays[day] = weekdays.pop(date)

print(weekdays)
实际输出:
{'2019-10-25':1,'2019-10-26':0,'2019-10-27':0,'星期一':1,'星期五':2,'星期六':0,'星期日':0}


预期输出:
{'saday':1,'saday':2,'saday':0,'saday':0,'saday':0}

我认为在迭代字典时从字典中添加和删除项目不是一个好主意。尝试为你的日名创建一个新的dict,而不是覆盖现有的dict。谢谢。是的,我刚刚用deepcopy解决了这个问题。我认为你根本不需要deepcopy任何东西,因为
new\u weekdays=dict(zip(days,weekdays.values())
应该这样做,但不管你的船漂浮在哪里:-)