gpt4 book ai didi

python - 嵌套词典未按要求更新

转载 作者:行者123 更新时间:2023-11-28 20:30:12 26 4
gpt4 key购买 nike

我正在尝试创建一个嵌套字典,其中包含子字典键作为列表的其余元素。用更简单的方式解释它:

要求的输出:

payable = { 'A':{'B':0,'C':0},'B':{'A':0,'C':0}....}

输出:

payable = { 'A':{'B':0,'C':0,'A':0},'B':{'A':0,'C':0, 'B':0}....}

我不需要 'A' 子键下的 'A' 主键。我该如何解决这个问题?

names = ['A', 'B', 'C']  
payable = dict.fromkeys(names, {})
for mainKey in payable.keys():
for subKey in names:
if(mainKey != subKey):
payable[mainKey][subKey] = 0
print(payable)

最佳答案

当您使用 dict.fromkeys 创建时,所有键都在查看相同的 dict

尝试使用 dict 理解创建 payable(换句话说,为每个键创建新的 dict),它工作正常:

names = ['A','B','C']  
payable= {k:{} for k in names}
for mainKey in payable.keys():
for subKey in names:
if(mainKey!=subKey):
payable[mainKey][subKey]=0
print(payable)

输出:

{'A': {'B': 0, 'C': 0}, 'B': {'A': 0, 'C': 0}, 'C': {'A': 0, 'B': 0}}

关于python - 嵌套词典未按要求更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58154291/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com