我更改了以下内容
sales_gross_last_7_days = self.events_sales_gross_last_7_days_incl_today.get(event.pk, {})
sales_gross_last_7_days.pop(timezone.now().date(), 0)
添加到该地址(我添加了.copy()
):
sales_gross_last_7_days = self.events_sales_gross_last_7_days_incl_today.copy().get(event.pk, {})
sales_gross_last_7_days.pop(timezone.now().date(), 0)
在我进行更改之前,.pop()
也影响了原始命令。这是Python的正常行为吗?
答案 0 :(得分:0)
是的,pop()方法从字典中删除您传递的密钥。
字典是可变的对象,当您从该对象使用pop()
方法时,您正在更改其内容。