我有一个嵌套的词典:
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
这不起作用。有关如何正确执行此操作的任何建议吗?
答案 0 :(得分:9)
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中,您将能够使用Literal string interpolation访问字符串中的dict:
In [23]: print(f"d['A']['X']={d['A']['X']}")
d['A']['X']=0
答案 1 :(得分:3)
您可以利用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))
这与Padraic Cunningham's answer非常相似,这也是一种很好的正确方法(这就是为什么我+ 1' d)。不同之处在于,在他的回答中,字符串{A[X]}
的一部分意味着.format
方法正在寻找关键字参数,该参数通过解压缩dict d
来提供。
在我的方法中,它期待一个位置参数,它必须是带有键'A'
的字典,它也必须是带有键'X'