Ich habe einen Beitrag über C++-Tricks erstellt und wollte über viele weitere Tricks schreiben, die ich kenne, da die meisten davon in Python und JS sind, obwohl ich in C++ codiert habe noch viel mehr, aber hier sind sie jedenfalls. Ich beginne mit trivialen Dingen über die grundlegende Python-Syntax, aber es gibt einige Dinge, die Anfängern nicht bekannt sind, die ich mit einem Stern markiert habe ⭐️:
Eine einfache Möglichkeit, auf Unterarrays einer Liste zuzugreifen
Eine Änderung ändert auch die andere, da es sich bei beiden um dieselben Speicherzuordnungen handelt
3 Möglichkeiten:
Ich werde mit einigen grundlegenden Listenverständnissen beginnen, aber sie werden schnell weniger trivial.
values = [word for word in values if len(word) > 1 and word[0] == 'a' and word[-1] == 'y'] # OR, a nicer way is ⭐️ values = [ string for string in values if len(string) > 1 if string[0] == 'a' if string[-1] == 'y' ]
Reduzieren einer Liste von Listen oder einer 2D-Matrix
Verständnis verschachtelter Listen: Reduzieren einer Matrix (einer Liste von Listen) ⭐️
Beispiel: Matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
values = [ number for row in matrix for number in row ] # first for loop then the next for loop is inside the first and so on
values = [ "Even" if x % 2 == 0 else "Odd" for x in range(10) ]
Diese Syntax ->
„Gerade“ wenn x % 2 == 0 sonst „Ungerade“ ist an vielen Stellen in Python gültig, Sie können es auch in Variablen einfügen, dies ist im Grunde ein ternärer Operator, aber ausführlicher
⭐️ Um das Listenverständnis zu verstehen, achten Sie immer auf die linke und rechte Seite des Ausdrucks. Alle verschachtelten Schleifen verlaufen von links nach rechts. Wenn sich das if else auf der linken Seite der for-Schleife befindet, prüfen wir, welchen Wert es hat Wollen wir abhängig von der if else-Bedingung einfügen, während wir versuchen, aus der Liste zu filtern, wenn sich die for-Schleife rechts befindet
Um beispielsweise eine 5x5x5-Liste zu erstellen: ⭐️
values = [[[num+1 for num in range(5)] for _ in range(5)] for _ in range(5)]
⭐️ Suchen Sie nach der äußersten for-Schleife. Alles, was sich links davon befindet, wird zum Array „values[]“ hinzugefügt, und die Bedeutung dieser Syntax: for _ in range(5) ist, dass ich alles tun möchte, was aktiviert ist links von dieser for-Schleife 5 Mal (da mir der Wert der Iteratorvariablen bei jeder Iteration egal ist)
Wenn wir Paare haben = [("a", 1), ("b", 2)]: eine Liste von Paaren oder Tupeln
-> my_dict = {k:v für k, v in Paaren}: Werteentpacken, damit dies funktioniert, muss jedes „Paar“ in Paaren genau 2 Entitäten haben
Seien Zahlen = [1, 2, 3, 1, 3, 2, 4, 2, 1, 3]
unique_nums = {x for x in nums}: Python erkennt, dass dies eine Menge sein sollte, da Sie keine Schlüssel haben
Ich werde das schreiben, sobald ich etwas Zeit habe, aber Sie können sie trotzdem hier nachlesen: AdvancedPythonConcepts. Dies ist mein Git-Repo, in dem ich Python-Konzepte dokumentiert habe, als ich sie zum ersten Mal gelernt habe. Ich werde diesen Beitrag auf der Grundlage dieses Repos schreiben, sobald ich Zeit habe...
Das obige ist der detaillierte Inhalt vonPython-Notizen/Tricks/Lektionen/Nuancen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!