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

2024-04-29 01:07:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下代码: 你知道吗

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

非常感谢您的帮助


Tags: 代码falseiftestsalltestingdictlevels