使用指向同一地址的 dict.fromkeys 生成的两个数据结构



我有以下代码:

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创建新的字典。为什么会这样?它是否与用于将键映射到值的哈希函数有关?

任何帮助都非常感谢。

它们是新词典,但列表是对相同列表数据的引用。看看copy.deepcopy((

最新更新