Python 如何将string.format与嵌套dict一起使用

Python 如何将string.format与嵌套dict一起使用,python,Python,我有一个嵌套的dict: 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 这是行不通的。有没有关于如何正确执行此操作的建议 KEYS1 = ("A", "B", "C") KEYS2

我有一个嵌套的dict:

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
这是行不通的。有没有关于如何正确执行此操作的建议

KEYS1 = ("A", "B", "C")
KEYS2 = ("X", "Y", "Z")

d = dict.fromkeys(KEYS1, dict.fromkeys(KEYS2, 0))

print("d['A']['X']={A[X]}".format(**d))
输出:

d['A']['X']=0
从python 3.6中,您可以使用以下字符串访问dict:


您可以利用
str.format
的功能对您提供的参数进行订阅

KEYS1 = ("A", "B", "C")
KEYS2 = ("X", "Y", "Z")

d = dict.fromkeys(KEYS1, dict.fromkeys(KEYS2, 0))

print("d['A']['X']={[A][X]}".format(d))
这真的很像,这也是一个很好的正确的方法(这就是为什么我加1的原因)。不同之处在于,在他的回答中,字符串
{A[X]}
的部分意味着
.format
方法正在寻找关键字参数,该参数是通过解包dict
d
提供的


在我的方法中,它需要一个位置参数,它必须是一个带键的dict
'a'
,也必须是一个带键的dict
'X'

,请您再解释一下预期的输出好吗?
d=dict.fromkeys(KEYS1,dict.fromkeys(KEYS2,0))
-小心。外部dict中的每个值都是相同的内部dict,因此您对
d['A']
所做的任何操作都将通过
d['B']
可见。哦,您是对的用户2357112-感谢您的关注。对于带零键的2维存储的实例化,您有什么建议?@Oxonon:Dict-comprehension,或者使用Python中的genexp的
Dict
KEYS1 = ("A", "B", "C")
KEYS2 = ("X", "Y", "Z")

d = dict.fromkeys(KEYS1, dict.fromkeys(KEYS2, 0))

print("d['A']['X']={[A][X]}".format(d))