我有一个字典列表List1
,格式为{Account Name:{Stock Name:Stock Allocations}},如下所示:
List1 =[{'A001':{'ABC':0.4, 'ABD':0.6}}, {'A002':{'ABC':0.5, 'ABD':0.4, 'EFG':0.1}}, {'A003':{'ABC':0.4, 'ABD':0.6}}, {'A004':{'ABC':0.4, 'ABD':0.6}}]
{'ABC':0.4, 'ABD':0.6}
在三个帐户A001、A003和A004中作为值出现三次。你知道吗
我使用以下代码来获取值:
AccountName = []
for account in List1:
for key, value in account.items():
AccountName.append(value)
如何显示每个帐户的副本,如下所示?例如
Account Name Duplicate(s)
A001 A003, A004
A002 No duplicate
A003 A001, A004
A004 A001, A003
您可以尝试以下代码段:
列表中的元素是一个条目字典,因此处理起来比必要的要麻烦得多。如果列表中每个元素只有一个account,那么应该改为使用tuple(account,allocations)。你知道吗
将List1转换为该格式(allocs变量)会使代码模式变得更直接:
您可以做的是创建另一个字典,其中key作为其他字典的值,并且该字典的值是该字典的一组键。基本上,您可以还原字典,其中键是值,值是一组键。因此,如果您有相同的值,那么这些值的键将是该键的一部分。你知道吗
下面是一个dict在转换后的样子:
那就是评级和印刷的问题了。你知道吗
输出:
相关问题 更多 >
编程相关推荐