Im Folgenden finden Sie einige praktische Python-Tipps und -Tools, die ich in den letzten Jahren gesammelt habe. Ich hoffe, dass sie Ihnen hilfreich sein werden.
Variablen austauschen
x = 6
y = 5
x, y = y, x
x drucken
>>> 5
print y
>>> 6
if-Anweisung in Zeile
print „Hallo“, wenn True, sonst „World "
>>>Hallo
Verbindung
Der letzte Weg unten ist sehr cool, wenn man zwei Objekte unterschiedlichen Typs bindet.
nfc = ["Packers", "49ers"]
afc = ["Ravens", "Patriots"]
nfc afc drucken
> >> ['Packers', '49ers', 'Ravens', 'Patriots']
print str(1) " world"
>>> 1 world
print `1` „world“
>>> 1 world
print 1, „world“
>>> 1 world
print nfc, 1
>>> ['Packers', '49ers'] 1
Zahlenfähigkeiten
#Nach Division abrunden
print 5.0/ /2
>>> 2
# 2 hoch 5
print 2**5
>> 32
Beachten Sie die Division von Gleitkommazahlen
print .3/.1
>>> 2.9999999999999996
print .3//.1
>>> 2.0
Numerischer Vergleich
Das ist so eine tolle einfache Methode, die ich in vielen Sprachen gesehen habe
x = 2
wenn 3 > x > 1:
x drucken
>>> 2
wenn 1 0:
x drucken
>> > 2
Zwei Listen gleichzeitig durchlaufen
nfc = ["Packers", "49ers"]
afc = ["Ravens", "Patriots"]
für teama, teamb in zip(nfc, afc):
print teama „ vs. „ teamb
>>> Packers vs. Ravens
>>> 49ers vs. Patriots
Listeniteration mit Index
teams = ["Packers", "49ers", "Ravens", "Patriots"]
für Index, Team in Enumerate (Teams):
Index drucken, Team
>>> 0 Packers
>>> 1 49ers
>>> 2 Ravens
>>> 3 Patriots
Listenverständnis
Gegeben eine Liste, können wir eine gerade Zahlenlistenmethode auswählen:
Zahlen = [1, 2,3, 4,5,6]
even = []
für Zahl in Zahlen:
wenn Zahl%2 == 0:
even.append (Zahl)
wird wie folgt umgewandelt:
Zahlen = [1,2,3,4,5,6]
gerade = [Zahl für Zahl in Zahlen if number%2 == 0]
Ist es nicht großartig, haha.
Wörterbuchverständnisse
Ähnlich wie Listenverständnisse können Wörterbücher die gleiche Aufgabe erfüllen:
teams = ["Packers", "49ers", "Ravens", "Patriots" ]
print {key: value for value, key in enumerate(teams)}
>>> {'49ers': 1, 'Ravens': 2, 'Patriots': 3, 'Packer': 0}
Initialisierungslistenwert
items = [0]*3
Druckelemente
>>> [0,0 , 0]
Liste in String konvertieren
teams = ["Packers", "49ers", "Ravens", "Patriots"]
print ", "join(. Teams)
>>> 'Packers, 49ers, Ravens, Patriots'
Elemente aus dem Wörterbuch abrufen
Ich gebe zu, dass der Try/Except-Code nicht elegant ist, aber hier schon Versuchen Sie mit einer einfachen Methode, den Schlüssel im Wörterbuch zu finden. Wenn der entsprechende Wert nicht gefunden wird, wird der zweite Parameter zum Festlegen seines Variablenwerts verwendet.
data = {'user': 1, 'name': 'Max', 'two': 4}
try:
is_admin = data['admin' ]
außer KeyError:
is_admin = False
So ersetzen:
data = {'user': 1, 'name': 'Max ', 'drei': 4}
is_admin = data.get('admin', False)
Erhalten Sie eine Teilmenge einer Liste
Manchmal möchten Sie einfach nur eine Teilmenge der Liste Einige Elemente von , hier sind einige Möglichkeiten, eine Teilmenge einer Liste zu erhalten.
x = [1,2,3,4,5,6]
#First 3
print x[:3]
> > > [1,2,3]
#Middle 4
print x[1:5]
>>> [2,3,4,5]
#Die letzten 3
print x[-3:]
>>> [4,5,6]
#Seltsame Elemente
x[::2] drucken
>>> [1,3,5]
#Gerade nummerierte Elemente
x[1::2] drucken
>>> [2,4,6]
60 Zeichen zum Lösen von FizzBuzz
Vor einiger Zeit hat Jeff Atwood eine einfache Programmierübung namens FizzBuzz beworben wie folgt:
Schreiben Sie ein Programm, das die Zahlen 1 bis 100 ausgibt. Vielfache von 3 geben „Fizz“ aus, um die Zahl zu ersetzen. Vielfache von 5 geben „Buzz“ aus , drucken Sie „FizzBuzz“.
Hier ist eine kurze, interessante Möglichkeit, dieses Problem zu lösen:
1
for x in range(101):print "fizz"[x%3*4 : :] "buzz"[x%5*4::]or x
Collection
Zusätzlich zu den in Python integrierten Datentypen enthält das Collection-Modul auch einige spezielle Anwendungsfälle, in Der Zähler ist in manchen Situationen sehr nützlich. Wenn Sie am diesjährigen Facebook HackerCup teilgenommen haben, können Sie sogar feststellen, dass es praktisch ist.
aus Sammlungen importieren Counter
print Counter("hello")
>>> Counter({'l': 2, 'h': 1, 'e' : 1, 'o': 1})
Iterationswerkzeuge
Wie die Sammlungsbibliothek gibt es auch eine Bibliothek namens itertools, mit der bestimmte Probleme effizient gelöst werden können. Ein Anwendungsfall besteht darin, alle Kombinationen zu finden, was Ihnen alle möglichen Kombinationen von Elementen in einer Gruppe anzeigt
aus itertools-Importkombinationen
teams = ["Packers", "49ers", "Ravens ", "Patrioten"]
für Spiel in Kombinationen (Teams, 2):
Druckspiel
>>> ('Packers', '49ers')
>>> ('Packers', 'Ravens')
>>> ('Packers', 'Patriots')
>>> ('49ers', 'Ravens') )
>>> ('49ers', 'Patriots')
>>> ('Ravens', 'Patriots')
Falsch == Wahr
Dies ist eher eine interessante Sache als eine praktische Technik. In Python sind True und False globale Variablen, also:
False = True
wenn False:
print „Hallo“
sonst:
print „Welt“
>>> Hallo