在Python中,我目前有一个带有复合键的字典。在这本字典中,这些键多次出现。 (键以逗号分隔):
(A,B), (A,C), (A,B), (A,D), (C,A), (A,B), (C,A), (C,B), (C,B)
我已经有了一些可以汇总唯一出现次数并计算重复项的方法,这给了我类似于这样的打印输出:
(A,B)
的计数为 4
,(A,C)
的计数为 2
code>、(B,C)
,计数为 6
等
我想知道如何编写一个循环来给我以下内容:
打印出键的第一部分的第一次出现及其关联的值和计数。
姓名:A:
Type Count
B 4
C 2
Total 6
姓名:B:
Type Count
A 3
B 2
C 3
Total 8
我知道我需要创建一个循环,其中第一个语句=第一个语句
并执行以下操作,但不知道如何处理/编码。
最佳答案
这是一个稍微慢一点的算法,可以完成它:
def convert(myDict):
keys = myDict.keys()
answer = collections.defaultdict(dict)
for key in keys:
for k in [k for k in keys if k.startswith(key[0])]:
answer[key[0]][k[1]] = myDict[k]
return answer
最终,我认为您想要的是 trie
关于Python:While语句=语句打印关联值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12905602/