dictionnaire python des dictionnaires
Partir d'une autre fonction, j'ai tuples comme ce ('falseName', 'realName', positionOfMistake)
par exemple. ('Milter', 'Miller', 4)
.
J'ai besoin d'écrire une fonction qui en font un dictionnaire comme ceci:
D={realName:{falseName:[positionOfMistake], falseName:[positionOfMistake]...},
realName:{falseName:[positionOfMistake]...}...}
La fonction est de prendre un dictionnaire et un tuple comme ci-dessus, en tant qu'arguments.
Je pensais à quelque chose comme ceci pour commencer:
def addToNameDictionary(d, tup):
dictionary={}
tup=previousFunction(string)
for element in tup:
if not dictionary.has_key(element[1]):
dictionary.append(element[1])
elif:
if ...
Mais il n'est pas de travail et je suis un peu coincé ici.
source d'informationauteur Linus Svendsson
Vous devez vous connecter pour publier un commentaire.
Si c'est seulement pour ajouter un nouveau tuple et vous êtes sûr qu'il n'y a pas de collisions à l'intérieur du dictionnaire que vous pouvez faire ceci:
À l'aide de
collections.defaultdict
est un grand gain de temps lorsque vous êtes en train de construire dicts et de ne pas savoir à l'avance quelles touches vous allez avoir.Ici, il est utilisé deux fois: pour la suite de la dict, et pour chacune des valeurs dans le dict.
Combinant cela avec votre code:
Ou à tester:
du dictionnaire setdefault est un bon moyen pour mettre à jour un dict entrée si il y est, ou en créer un nouveau si ce n'est pas tous d'un coup:
Boucle style:
dictionnaire est maintenant égale à: