Assez nouveau à Python et je ne peux pas comprendre cela. Je vais ajouter une clé à un dictionnaire et ça l'ajoute très bien. Je peux même mettre à jour cette même clé avec une nouvelle valeur, cependant quand je vais ajouter une deuxième clé au dictionnaire, elle n'ajoute pas la deuxième paire de valeurs de clé.Dictionnaire Python ne pas ajouter les touches suivantes après le premier
class CountedSet:
def __init__(self):
self.data = {}
def __iadd__(self,other):
if isinstance(other,int):
self.data[other] = self.data.get(other, 0) + 1
return self
elif isinstance(other,CountedSet):
#TODO::iterate through second countedSet and update self
return self
def __add__(self,obj):
for key, value in obj.data.items():
if len(self.data) == 0:
self.data[key] = value
elif self.data[key]:
self.data[key] = self.data[key] + value
else:
self.data[key] = value
return self
def __getitem__(self,item):
if item in self.data:
return self.data.get(item)
else:
return None
def __str__(self):
for key, value in self.data.items():
return("{%s,%s}" % (key,value))
a = CountedSet()
a += 17
a += 4
print(a)
Cette affiche simplement {} quand je 17,1 compterais voir {} {4,1 17,1}
Votre problème est dans la déclaration de retour –