Python:While语句=语句打印关联值

标签 python loops dictionary unique

在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/

相关文章:

python - Matplotlib:为 numpy 数组的每一列添加图例

MySQL - 循环遍历表,更新列 'Day',其中值与另一列 'Week' 匹配

python - 如何迭代固定数量的文件直到文件夹的最后一个文件?

dictionary - 为什么 Julia 的 Dict{String, Any} 不接受 'any' 值

python - 比较 2 个词典列表,并将一个列表中缺失(不匹配)的词典添加到另一个列表中

python - Q : Python (pandas or other) - I need to "flatten" a data file from many rows, 几列到 1 行多列

python - 使用格式化为字符串的数字列表来删除数据框中包含这些值的行

python - 使用正则化时,手动计算的验证损失与报告的 val_loss 不同

C#:获取列表中出现次数最多的元素?

c++ - 如何使用以列表作为值的无序映射