En étudiant Python, j'ai été accro à la notation d'inclusion de liste pendant une heure. Je pense que c'est parce que je pensais que les fonctions Python étaient passées par référence. (Même si j'ai mal compris "passer par référence")
Si vous comparez les résultats de l'exécution, vous pouvez voir ce qui s'est passé, j'en suis sûr.
J'ai créé la fonction d'ouverture findDiff ()
pour essayer de découvrir ce qui a été ajouté et ce qui a été supprimé.
Cependant, quand je suis revenu de la fonction, les éléments de la liste ont disparu (ressemblait à).
def findDiff(oldList, newList, adds, dels):
adds = [x for x in newList if oldList.count(x) < 1]
dels = [x for x in oldList if newList.count(x) < 1]
oldList = [1,2,3,5,6,7,8,9]
newList = [1,2,4,5,6,7,8,10]
adds = []
dels = []
print(adds)
print(dels)
findDiff(oldList, newList, adds, dels)
print(adds)
print(dels)
#>>> []
#>>> []
#>>> []
#>>> []
Seule la fonction findDiff ()
au début est modifiée.
def findDiff(oldList, newList, adds, dels):
for x in newList:
if oldList.count(x) < 1:
adds.append(x)
for x in oldList:
if newList.count(x) < 1:
dels.append(x)
oldList = [1,2,3,5,6,7,8,9]
newList = [1,2,4,5,6,7,8,10]
adds = []
dels = []
print(adds)
print(dels)
findDiff(oldList, newList, adds, dels)
print(adds)
print(dels)
#>>> []
#>>> []
#>>> [4, 10]
#>>> [3, 9]
Quand j'ai cherché après avoir écrit l'article, j'avais déjà la sagesse de mon prédécesseur. .. ..