我正在尝试使用以下代码创建字典。 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/