我有以下代码:
TESTS = ['C2P', 'FH', 'ACCURACY', 'DUPLICITY']
TESTING_LEVELS = ['IF', 'MF', 'MONO']
ALL_CAMERAS = ['main', 'fisheye_rectified', 'narrow', 'frontCornerLeft', 'frontCornerRight',
'rearCornerLeft', 'rearCornerRight', 'rear']
SET_A = dict.fromkeys(TESTING_LEVELS, dict.fromkeys(TESTS, dict.fromkeys(ALL_CAMERAS, False)))
SET_B = dict.fromkeys(TESTING_LEVELS, dict.fromkeys(TESTS, dict.fromkeys(ALL_CAMERAS, False)))
由于某种原因,SET_A和SET_B下的字典指向相同的位置。从Python文档中可以看出dict.fromkeys
创建了新的词典。为什么会这样?它是否与用于将键映射到值的散列函数有关?
非常感谢任何帮助。
答案 0 :(得分:0)
它们是新的dicts,但列表是对相同列表数据的引用。 看一下copy.deepcopy()