Python 如何将string.format与嵌套dict一起使用
我有一个嵌套的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
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
方法正在寻找关键字参数,该参数是通过解包dictd
提供的
在我的方法中,它需要一个位置参数,它必须是一个带键的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))