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())
应该这样做,但不管你的船漂浮在哪里:-)