J'ai un simple code qui ne fonctionne pas et je n'arrive pas à comprendre pourquoi.Les boucles for-in Pythonic imbriquées super simples ne fonctionnent pas correctement ... quelque chose à voir avec les entrées
Le code est le suivant:
def myFunction(otherDictionary, mongoDbCollection):
for p in otherDictionary:
print('hi')
for d in mongoDbCollection:
print('hello')
Il est évident que l'objectif final n'est pas l'impression d'un groupe de son salut et bonjour de mais a fait cela uniquement pour des fins de débogage quand il semblait que le mécanisme de bouclage ne fonctionnait pas correctement.
Lorsque j'appelle cette fonction à mon grand désarroi, un seul hi
est imprimé, puis tous les hello
s, suivis par le reste des hi
s. Ou quelque chose comme ceci:
hi
hello
hello
hello
hello
hi
hi
hi
hi
plutôt que:
hi
hello
hello
hello
hello
hi
hello
hello
hello
hello
et ainsi de suite .....
Il a certainement quelque chose à voir avec les entrées de la fonction que lorsque je l'ai changé otherDictionary & mongoDbCollection chacun à [1,2,3,4,5] pour déboguer ce problème, il a imprimé les salut et salut comme prévu.
Que pourrait-il y avoir dans les entrées qui causeraient un tel problème?
mongoDbCollection = une collection de ma base de données de mongo
otherDictionary est juste un dictionnaire simple avec des mots-clés et compte respectifs pour chacun comme ceci:
{ 'randomKey': 10, 'otherRandomKey': 3, 'evenMoreRandomKey': 14 }
pourrait caractères/symboles étranges dans de la clé être à l'origine d'une erreur comme ça?
Je suis complètement perplexe! Le code est trop simple pour qu'il ne soit pas travailler ...
Y at-il de toute façon un exemple reproductible? Et non, "caractères étranges/symboles dans les touches" ne pouvait pas être à l'origine de cela. –
En outre, quoi, ** exactement ** est votre objet 'mongoDbCollection'? –
l'objet mongoDbCollection est juste un tas de dictionnaires empilés comme ceci {key: val, key: val}, {key: val, key: val} – learningToCode54321