python - 分配和修改元组作为 Python 字典键的值

标签 python dictionary tuples

我正在尝试使用以下代码创建字典。 d={}

    for item in H:
    if not item[0] in d:
        d[item[0]]=(0,0) 
    d[item[0]][0]+=1
    d[item[0]][1]+=item[1]

所以基本上在这里,我想要一个字典,如果字典中没有某个键,它将将该键的值等同于元组 (0,0),然后相应地修改元组的元素(通过每次键出现时将 1 添加到元组的第一个元素,并在每次键出现时将 item[1](一个整数)添加到元组的第二个元素。我的代码不能按原样工作。关于如何解决这个问题有什么想法吗?

谢谢, 朱奈德

最佳答案

元组是不可变的,因此永远不会起作用。这意味着您在创建它们后无法修改它们,您需要用新的元组替换整个值。

您可以使用defaultdict来更优雅地处理初始值的设置。

我有一种预感,collections.Counter 将是一个更适合您在这里想要实现的目标的数据结构,但是您必须为我解释一下您的用例继续...

关于python - 分配和修改元组作为 Python 字典键的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19671314/

相关文章:

Python for 循环不迭代

python - 根据元素添加/覆盖字典

python - 在 Python 中将元组转换为字典

list - 从 Haskell 的列表中删除共轭元组

python - 如何从 Python 中的嵌套字典中删除某些键?

python - 从 txt 文件打印随机行?

python - csv.DictReader/csv.DictWriter 与 Panda 库数据框 -

python - 使用 numpy loadtxt 将导入字符串转换为 float

python - web.py存储对象无法访问值

c++ - GCC 是否优化 std::tie 仅用于可读性?