【发布时间】:2015-12-24 10:42:30
【问题描述】:
我有一个嵌套的字典:
KEYS1 = ("A", "B", "C")
KEYS2 = ("X", "Y", "Z")
d = dict.fromkeys(KEYS1, dict.fromkeys(KEYS2, 0))
我现在想使用格式将其值嵌入到字符串中,例如
print("d['A']['X']={A,X:d}".format(**d))
输出:
d['A']['X']=0
那行不通。有关如何正确执行此操作的任何建议?
【问题讨论】:
-
你能解释一下预期的输出吗?
-
d = dict.fromkeys(KEYS1, dict.fromkeys(KEYS2, 0))- 小心。外部字典中的每个值都是 same 内部字典,因此您对d['A']所做的任何事情都将通过d['B']可见。 -
哦,你是对的 user2357112 - 感谢您了解这一点。对于使用归零键的 2 暗存储实例化,您有什么建议?
-
@Oxonon:字典理解,或
dict在 Python {key1: dict.fromkeys(KEYS2, 0) for key1 in KEYS1},或dict((key1, dict.fromkeys(KEYS2, 0)) for key1 in KEYS1)。在内部值也需要不同的情况下,您也可以将内部fromkeys替换为字典理解。
标签: python