[Python] Ich war eine Stunde lang begeistert, als ich versuchte, die Listeneinschlussnotation zu verwenden

Einführung

Während ich Python studierte, war ich eine Stunde lang süchtig nach der Notation der Listeneinschlüsse. Ich denke, das liegt daran, dass ich dachte, Python-Funktionen wurden als Referenz übergeben. (Obwohl ich möglicherweise "Pass by Reference" missverstanden habe)

Wenn Sie die Ausführungsergebnisse vergleichen, können Sie sicher sehen, was passiert ist.

Suchtcode und Ausführungsergebnisse

Ich habe die Eröffnungsfunktion "findDiff ()" erstellt, um herauszufinden, was hinzugefügt und was entfernt wurde. Aber als ich von der Funktion zurückkam, verschwanden die Elemente der Liste (sahen aus wie).

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)

#>>> []
#>>> []
#>>> []
#>>> []

Geänderter Code und Ausführungsergebnis

Nur die Funktion "findDiff ()" am Anfang wird geändert.

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]

Am Ende

Als ich nach dem Schreiben des Artikels nachgeschlagen habe, hatte ich bereits die Weisheit meines Vorgängers. .. ..

Recommended Posts

[Python] Ich war eine Stunde lang begeistert, als ich versuchte, die Listeneinschlussnotation zu verwenden
[Python] Verwendung von Liste 1
Ich war 2 Minuten lang süchtig nach Python-Debugger-PDF
Ich wusste nicht, wie ich die [Python] für die Anweisung verwenden sollte
[Python] Verwendung von Liste 3 Hinzugefügt
Erste Schritte mit Python für Nicht-Ingenieure
Verwendung eines externen Editors für die Python-Entwicklung mit Grasshopper
Python> Verständnis> Zellen> Mir wurde beigebracht, wie man Double Inclusion Notation / itertools verwendet
Ich möchte ein Glas aus Python verwenden
[Python] Organisieren der Verwendung für Anweisungen
Verwendung von "deque" für Python-Daten
Eine Einführung in Python für maschinelles Lernen
Zusammenfassung der Verwendung der Python-Liste
Was ich süchtig nach Python Autorun war
Eine Einführung in Python für C-Sprachprogrammierer
Ich habe einen Docker-Container erstellt, um JUMAN ++, KNP, Python (für pyKNP) zu verwenden.
Tipps zum Bearbeiten von numpy.ndarray aus c ++ - Ich möchte einen Iterator verwenden -
Verwenden Sie Python aus Java mit Jython. Ich war auch süchtig danach.
Ein Memorandum, weil ich beim Versuch, MeCab mit Python zu verwenden, gestolpert bin
[Python] Es war sehr praktisch, die Python-Klasse für das ROS-Programm zu verwenden.
Ich möchte MATLAB feval mit Python verwenden
Studie aus Python Hour7: Verwendung von Klassen
Python: Ich konnte in Lambda rekursieren
Python-Listeneinschlussnotation, die leicht zu vergessen ist
Ich möchte Temporäres Verzeichnis mit Python2 verwenden
[Algorithmus x Python] Verwendung der Liste
Ich möchte Ceres Solver aus Python verwenden
Ich habe versucht, mit Python (Mac OS X) eine Umgebung für maschinelles Lernen zu erstellen.
[BigQuery] Verwendung der BigQuery-API für die Python-Tabellenerstellung-
[Für Anfänger] Wie man den Befehl say mit Python benutzt!
Ich habe versucht zusammenzufassen, wie man Matplotlib von Python verwendet
Ich wollte die Python-Bibliothek von MATLAB verwenden
Ich war süchtig danach, 2020 mit Selen (+ Python) zu kratzen
Ich habe versucht, künstliches Perzeptron mit Python zu implementieren
[Python] Ich möchte aus einer verschachtelten Liste einen Taple machen
Ich habe versucht zusammenzufassen, wie man Pandas von Python benutzt
Python: Ruft eine Liste der Methoden für ein Objekt ab
Python: Kann in Lambda wiederholt werden
Ich war süchtig danach, logging.getLogger mit Flask 1.1.x zu versuchen
Ich möchte R-Datensatz mit Python verwenden
Wovon ich süchtig war, als ich Python Tornado benutzte
Was den in Honchos Procfile geschriebenen Prozesstyp betrifft, war ich über eine Stunde lang süchtig danach, weil ich ihn nicht verwenden konnte - also werde ich ihn als Show schreiben.
Verwendung der Liste []
Python> Link> Mid-Line-Kommentar in Python?> Mir wurde gesagt, dass es besser ist, benannte Argumente zu verwenden.
Tipps für Python-Anfänger, um das Scikit-Image-Beispiel für sich selbst zu verwenden 4 Verwenden Sie die GUI
[Python] Erstellen einer Adjazenzmatrix / Adjazenzliste [Graphentheorie]
[Python] Verwendung von Matplotlib, einer Bibliothek zum Zeichnen von Diagrammen
[Python] Hinweise beim Versuch, Numpy mit Cython zu verwenden
Wie erstelle ich ein Python-Paket (geschrieben für Praktikanten)
[Road to Intermediate Python] Verwenden Sie die if-Anweisung in der Listeneinschlussnotation
Wie nutzt man maschinelles Lernen für die Arbeit? 03_Python-Codierungsverfahren
Nützliche Tricks in Bezug auf Listen und Anweisungen in Python
[Python3] Liste der Websites, auf die ich beim Starten von Python verwiesen habe
Verwenden Sie eine Skriptsprache für ein komfortables C ++ - Leben - OpenCV-Port Python zu C ++ -
[Fix] Ich war süchtig nach dem alphanumerischen Urteil über Python-Strings
[Python] Ich habe versucht, Wörter, die für Anfänger schwer zu verstehen sind, auf leicht verständliche Weise zu erklären.
Über den Fehler, den ich beim Versuch, Adafruit_DHT von Python auf Raspberry Pi zu verwenden, festgestellt habe
Python-Liste, für Anweisung, Wörterbuch
python3: Verwendung der Flasche (2)