我在类中声明了一个字典(self.d1)。调用f1函数后,self.d1需要更新为f1内声明的本地字典
import copy
class num:
def __init__(self):
self.d1 = {'a':1, 'b':2, 'c':3}
self.f1(self.d1)
print self.d1
def f1(self,d):
d2 = {'d':4, 'e':5, 'f':6}
d = copy.deepcopy(d2)
test = num()
Run Code Online (Sandbox Code Playgroud)
我期望输出是:
{'d':4, 'e':5, 'f':6}
Run Code Online (Sandbox Code Playgroud)
但输出是
{'a':1, 'b':2, 'c':3}
Run Code Online (Sandbox Code Playgroud)
我想了解问题是什么,而不仅仅是解决方案
我需要在字典上做一个不"自然"的操作,所以我想知道什么是最好的pythonic方法来做到这一点.
我需要通过删除具有相同值的所有键来简化字典(键是不同的,值是相同的)
例如:输入:
dict = {key1 : [1,2,3], key2: [1,2,6], key3: [1,2,3]}
Run Code Online (Sandbox Code Playgroud)
预期产量:
{key1 : [1,2,3], key2:[1,2,6]}
Run Code Online (Sandbox Code Playgroud)
我不关心删除哪个键(例如:key1或key3)