kun*_*bey 2 python dictionary list python-3.x
我正在尝试创建一个嵌套字典,该字典具有子字典键作为列表的其余元素。以更简单的方式进行解释:
要求的输出:
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) 
当您创建using时dict.fromkeys,所有键都处于相同的状态dict。
尝试payable使用dict理解来创建(换句话说,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}}
| 归档时间: | 
 | 
| 查看次数: | 65 次 | 
| 最近记录: |