Python One-Liners
Реклама. ООО «ЛитРес», ИНН: 7719571260.
Оглавление
Christian Mayer. Python One-Liners
Python One-Liners
Inhalt
Danksagung
Zur deutschen Ausgabe
Vorwort
Einführung
Ein Beispiel für einen Python-Einzeiler
Ein Hinweis zur Lesbarkeit
An wen richtet sich dieses Buch?
Was werden Sie lernen?
Online-Ressourcen
1. Python-Auffrischungskurs
Grundlegende Datenstrukturen
Numerische Datentypen und -strukturen
Listing 1–1Die numerischen Datentypen
Boolesche Werte
Listing 1–2Die booleschen Werte False und True
Schlüsselwörter: and, or, not
Listing 1–3Die Schlüsselwörter and, or und not
Die Rangordnung der booleschen Operatoren
Listing 1–4Der boolesche Datentyp
Strings
Listing 1–5Der Datentyp string
Das Schlüsselwort None
Listing 1–6Die Verwendung des Schlüsselworts None
Container-Datenstrukturen
Listen
Schlüsselwort: is
Listing 1–7Das Schlüsselwort is im Einsatz
Elemente hinzufügen
Elemente entfernen
Listen umkehren
Listen sortieren
Listenelemente indizieren
Stacks
Mengen
Sammlung
Listing 1–8Der Datentyp set ist nur für Hash-fähige Elemente geeignet
Ungeordnet
Eindeutig
Dictionaries
Zugehörigkeit
Listing 1–9Das Schlüsselwort in benutzen
List und d
Kontrollfluss
if, else und elif
Listing 1–10Die Verwendung der Schlüsselwörter if, else und elif
Schleifen
Listing 1–11Die Verwendung der Schlüsselwörter for und while
Listing 1–12Das Schlüsselwort break
Listing 1–13Die Verwendung des Schlüsselworts continue
Funktionen
Listing 1–14Das Schlüsselwort return
Lambdas
Listing 1–15Das Schlüsselwort lambda benutzen
Zusammenfassung
2. Python-Tricks
Mit einer List Comprehension Spitzenverdiener finden
Die Grundlagen
Der Code
Listing 2–1Einzeilerlösung für die List Comprehension
Wie es funktioniert
Mit einer List Comprehension Wörter mit hohem Informationsgehalt finden
Die Grundlagen
Der Code
Listing 2–2Einzeilerlösung zum Suchen von Wörtern mit hohem Informationsgehalt
Wie es funktioniert
Eine Datei lesen
Die Grundlagen
Der Code
Listing 2–3Einzeilerlösung zum zeilenweisen Lesen einer Datei
Wie es funktioniert
Lambda- und Map-Funktionen verwenden
Die Grundlagen
Hinweis
Der Code
Listing 2–4Einzeilerlösung zum Markieren von Strings, die den String »anonyme« enthalten
Wie es funktioniert
Übung 2–1
Mit Slicing passende Teilstring-Umgebungen extrahieren
Die Grundlagen
Der Code
Listing 2–5Einzeilerlösung zum Suchen von Strings und ihrer direkten Umgebung in einem Text
Wie es funktioniert
List Comprehension und Slicing miteinander kombinieren
Die Grundlagen
Der Code
Listing 2–6Einzeilerlösung zum Auswählen von Daten
Wie es funktioniert
Übung 2–2
Nutzen Sie die Slice-Zuweisung zum Korrigieren von kaputten Listen
Die Grundlagen
Der Code
Listing 2–7Einzeilerlösung zum Ersetzen aller beschädigten Strings
Wie es funktioniert
Herzgesundheitsdaten mit Listenverkettungen analysieren
Die Grundlagen
Der Code
Listing 2–8Einzeilerlösung zum Vorhersagen von Herzraten zu unterschiedlichen Zeiten
Wie es funktioniert
Mithilfe von Generatorausdrücken Unternehmen finden, die den Mindestlohn unterschreiten
Die Grundlagen
Hinweis
Der Code
Listing 2–9Einzeilerlösung zum Ermitteln von Unternehmen, die weniger als den Mindestlohn bezahlen
Wie es funktioniert
Datenbanken mit der zip()-Funktion formatieren
Die Grundlagen
Der Code
Listing 2–10Einzeilerlösung zum Anwenden eines Datenbankformats auf eine Liste aus Tupeln
Wie es funktioniert
Hinweis
Zusammenfassung
Lösung für Übung 2–1
3. Data Science
Einfache zweidimensionale Array-Berechnungen
Die Grundlagen
Listing 3–1Erzeugen von 1-D-, 2-D- und 3-D-Arrays in NumPy
Listing 3–2Anwendung einfacher arithmetischer Operationen auf Arrays. Hinweis
Listing 3–3Berechnung der Maximal-, Minimal- und Durchschnittswerte eines NumPy-Arrays
Der Code
Listing 3–4Einzeilerlösung mithilfe grundlegender Array-Berechnungen
Wie es funktioniert
Listing 3–5Einfache Array-Berechnungen
Mit NumPy-Arrays arbeiten: Slicing, Broadcasting und Array-Typen
Die Grundlagen
Slicing und Indizierung
Listing 3–6Beispiele für eindimensionales Slicing
Listing 3–7Beispiele für mehrdimensionales Slicing
Broadcasting
Listing 3–8Achsen und Dimensionalität von drei NumPy-Arrays
Hinweis
Listing 3–9Die shape-Eigenschaft von 1-D-, 2-D- und 3-D-NumPy-Arrays
Homogene Werte
Listing 3–10NumPy-Arrays mit unterschiedlichen Typen
Der Code
Listing 3–11Einzeilerlösung mittels Slicing und Slice-Zuweisungen
Wie es funktioniert
Slicing
Broadcasting
Array-Typen
Bedingte Array-Suche, Filterung und Broadcasting zum Erkennen von Extremwerten
Die Grundlagen
Listing 3–12Die Funktion nonzero
Listing 3–13Broadcasting und elementweise boolesche Operatoren in NumPy
Der Code
Listing 3–14Einzeilerlösung mithilfe von Broadcasting, booleschen Operatoren und selektiver Indizierung
Wie es funktioniert
Listing 3–15boolesche Array-Operation mit Broadcasting
Übung 3–1
Boolesche Indizierung zum Filtern zweidimensionaler Arrays
Die Grundlagen
Listing 3–16Selektive (boolesche) Indizierung in NumPy
Der Code
Listing 3–17Einzeilerlösung mithilfe von Slicing, Array-Typen und booleschen Operatoren
Wie es funktioniert
Broadcasting, Slice-Zuweisung und Umformen, um jedes i-te Array-Element zu entfernen
Die Grundlagen
Slice-Zuweisung
Listing 3–18Einfache Listenerzeugung und Slice-Zuweisung in Python
Listing 3–19Slice-Zuweisung in NumPy
Umformen
Das Axis-Argument
Der Code
Listing 3–20Einzeilerlösung mit den average- und reshape-Operatoren, Slice-Zuweisungen und dem axis-Argument
Wie es funktioniert
Wann Sie die sort()-Funktion und wann Sie die argsort()-Funktion in NumPy benutzen
Die Grundlagen
Listing 3–21Die Funktionen sort() und argsort() in NumPy
Listing 3–22Sortieren entlang einer Achse
Der Code
Listing 3–23Einzeilerlösung mit der argsort()-Funktion und Slicing mit negativer Schrittgröße
Wie es funktioniert
Wie Sie mit Lambda-Funktionen und boolescher Indizierung Arrays filtern
Die Grundlagen
Der Code
Listing 3–24Einzeilerlösung mit Lambda-Funktionen, Typumwandlung und booleschen Operatoren
Wie es funktioniert
Wie Sie erweiterte Array-Filter mit Statistik, Mathematik und Logik herstellen
Die Grundlagen
Mittelwert und Standardabweichung verstehen
Listing 3–25Zeichnen des Histogramms mit der Matplotlib-Bibliothek
Hinweis
Den Absolutwert finden
Listing 3–26Berechnen des Absolutwerts in NumPy
Die logische Und-Operation durchführen
Listing 3–27Die logische Und-Operation, angewandt auf die NumPy-Arrays
Der Code
Listing 3–28Einzeilerlösung mithilfe von Mittelwertfunktion, Standardabweichung und booleschen Operatoren mit Broadcasting
Wie es funktioniert
Einfache Assoziationsanalyse: Menschen, die X gekauft haben, kauften auch Y
Die Grundlagen
Der Code
Listing 3–29Einzeilerlösung mit Slicing, dem axis-Argument, der shape-Eigenschaft und einfachen Array-Berechnungen mit Broadcasting
Wie es funktioniert
Hinweis
Komplexere Assoziationsanalyse zum Finden von Bestseller-Paketen
Die Grundlagen
Der Code
Listing 3–30Einzeilerlösung mit einer Lambda-Funktion als key-Parameter der max()-Funktion, List Comprehension und booleschen Operatoren mit Broadcasting
Wie es funktioniert
Zusammenfassung
4. Machine Learning
Die Grundlagen des Supervised Machine Learning
Trainingsphase
Inferenzphase
Lineare Regression
Die Grundlagen
Der Code
Listing 4–1Ein einfaches lineares Regressionsmodell
Wie es funktioniert
Logistische Regression in einer Zeile
Die Grundlagen
Die Sigmoid-Funktion
Hinweis
Das Maximum-Likelihood-Modell finden
Der Code
Listing 4–2Ein logistisches Regressionsmodell
Wie es funktioniert
K-Means-Clusteranalyse in einer Zeile
Die Grundlagen
Der Code
Listing 4–3K-Means-Clusteranalyse in einer Zeile
Wie es funktioniert
K-Nearest Neighbors in einer Zeile
Die Grundlagen
Der Code
Listing 4–4Das Ausführen des KNN-Algorithmus in einer Zeile Python-Code
Wie es funktioniert
Analyse neuronaler Netzwerke in einer Zeile
Die Grundlagen
Die Daten
Was ist ein künstliches neuronales Netzwerk?
Der Code
Listing 4–5Analyse mit neuronalem Netzwerk in einer einzigen Codezeile
Wie es funktioniert
Decision-Tree Learning in einer Zeile
Die Grundlagen
Der Code
Listing 4–6Entscheidungsbaumklassifikation in einer einzigen Codezeile
Wie es funktioniert
Die minimale Varianz einer Zeile berechnen
Die Grundlagen
Der Code
Listing 4–7Berechnen der minimalen Varianz in einer einzigen Codezeile
Wie es funktioniert
Einfache Statistiken in einer Zeile
Die Grundlagen
Einfacher Durchschnitt, Varianz, Standardabweichung
Berechnen von Durchschnitt, Varianz, Standardabweichung entlang einer Achse
Der Code
Listing 4–8Berechnen einfacher Statistiken entlang einer Achse
Wie es funktioniert
Klassifikation mit Support-Vector Machines in einer Zeile
Die Grundlagen
Ein Überblick über die Klassifikation
Aber welches ist die beste Entscheidungsgrenze?
Der Code
Listing 4–9SVM-Klassifikation in einer einzigen Zeile Code
Wie es funktioniert
Klassifikation mit Random Forests in einer Zeile
Die Grundlagen
Der Code
Listing 4–10Ensemble Learning mit Random-Forest-Klassifikatoren
Wie es funktioniert
Hinweis
Zusammenfassung
5. Reguläre Ausdrücke
Einfache Textmuster in Strings finden
Die Grundlagen
Der Regex Punkt
Der Regex Asterisk
Der Regex Null-oder-Eins
Der Code
Listing 5–1Einzeilerlösung für die Suche nach speziellen Phrasen (non-greedy)
Wie es funktioniert
Schreiben Sie Ihren ersten Web-Scraper mit regulären Ausdrücken
Die Grundlagen
Der Code
Listing 5–2Einzeilerlösung zum Finden von Textschnipseln in der Form crypto(some text)coin
Wie es funktioniert
Hyperlinks von HTML-Dokumenten analysieren
Die Grundlagen
Der Code
Listing 5–3Einzeilerlösung zum Analysieren von Webseiten-Links
Wie es funktioniert
Dollars aus einem String extrahieren
Die Grundlagen
Der Code
Listing 5–4Einzeilerlösung zum Auffinden aller Dollar-Beträge in einem Text
Wie es funktioniert
Unsichere HTTP-URLs finden
Die Grundlagen
Der Code
Listing 5–5Einzeilerlösung zum Suchen gültiger http://-URLs
Wie es funktioniert
Das Zeitformat der Benutzereingabe validieren, Teil 1
Die Grundlagen
Der Code
Listing 5–6Einzeilerlösung zum Prüfen, ob eine Benutzereingabe dem allgemeinen Zeitformat XX:XX entspricht
Wie es funktioniert
Das Zeitformat der Benutzereingabe validieren, Teil 2
Die Grundlagen
Der Code
Listing 5–7Einzeilerlösung zum Prüfen, ob eine Benutzereingabe dem allgemeinen Zeitformat XX:XX entspricht und im 24-Stunden-Bereich gültig ist
Wie es funktioniert
Duplikate in String entdecken
Die Grundlagen
Der Code
Listing 5–8Einzeilerlösung zum Suchen aller Doppelzeichen
Wie es funktioniert
Wortwiederholungen erkennen
Die Grundlagen
Der Code
Listing 5–9Einzeilerlösung zum Finden von Wortwiederholungen
Wie es funktioniert
Übung 5–1
Regex-Muster in einem mehrzeiligen String modifizieren
Die Grundlagen
Der Code
Listing 5–10Einzeilerlösung zum Ersetzen von Mustern in einem Text
Wie es funktioniert
Zusammenfassung
6. Algorithmen
Hinweis
Hinweis
Mit Lambda-Funktionen und Sortieren Anagramme finden
Die Grundlagen
Der Code
Listing 6–1Einzeilerlösung zum Prüfen, ob zwei Strings Anagramme sind
Wie es funktioniert
Mit Lambda-Funktionen und negativem Slicing Palindrome finden
Die Grundlagen
Der Code
Listing 6–2Einzeilerlösung zum Überprüfen, ob eine Phrase ein Palindrom ist. Wie es funktioniert
Permutationen zählen mit rekursiven Fakultätsfunktionen
Die Grundlagen
Der Code
Listing 6–3Einzeilerlösung zum rekursiven Definieren der Fakultätsfunktion
Wie es funktioniert
Die Levenshtein-Distanz finden
Die Grundlagen
Der Code
Listing 6–4Berechnen der Levenshtein-Distanz zweier Strings in einer Zeile
Wie es funktioniert
Berechnen der Potenzmenge mittels funktionaler Programmierung
Die Grundlagen
Die Funktion reduce()
Listenarithmetik
Der Code
Listing 6–5Einzeilerlösung zum Berechnen der Potenzmenge einer gegebenen Menge
Wie es funktioniert
Caesar-Verschlüsselung mittels erweiterter Indizierung und List Comprehension
Die Grundlagen
Der Code
Listing 6–6Einzeilerlösung, die den String s mit dem ROT13-Algorithmus verschlüsselt
Wie es funktioniert
Mit dem Sieb des Eratosthenes Primzahlen finden
Die Grundlagen
Listing 6–7Einfache Implementierung zum Prüfen, ob eine gegebene Zahl n eine Primzahl ist
Listing 6–8Suchen aller Primzahlen bis zu einem Maximalwert m
Der Code
Listing 6–9Einzeilerlösung, die das Sieb des Eratosthenes implementiert
Wie es funktioniert
Hinweis
Das Sieb des Eratosthenes
Der Einzeiler erklärt
Berechnen der Fibonacci-Folge mit der reduce()-Funktion
Die Grundlagen
Der Code
Listing 6–10Berechnen der Fibonacci-Folge in einer Zeile Python-Code
Wie es funktioniert
Eine Alternative Mehrzeilige Lösung
Listing 6–11Einzeilerlösung zum iterativen Finden der Fibonacci-Zahlen
Ein rekursiver binärer Suchalgorithmus
Die Grundlagen
Listing 6–12Der Algorithmus der binären Suche
Der Code
Listing 6–13Einzeilerlösung zum Implementieren der binären Suche
Wie es funktioniert
Ein rekursiver Quicksort-Algorithmus
Die Grundlagen
Der Code
Listing 6–14Einzeilerlösung mit Rekursion für den Quicksort-Algorithmus
Wie es funktioniert
Zusammenfassung
Nachwort
Fußnoten. Vorwort
3 Data Science
Index. Symbole
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Z
Отрывок из книги
Christian Mayer hat einen Doktortitel in Informatik und ist der Gründer der beliebten Python-Site Finxter (https://blog.finxter.com). Mayer ist außerdem der Autor der Coffee Break Python-Reihe.
Profi-Programmierung durch kurz gefasstes Python
.....
Wie es funktioniert
K-Means-Clusteranalyse in einer Zeile
.....