Einführung in Techniken für Python-Anfänger

巴扎黑
Freigeben: 2017-04-05 13:25:54
Original
1209 Leute haben es durchsucht

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

print x
>>> 5
print y
>>> 6
Nach dem Login kopieren

 if-Anweisung in Zeile

print "Hello" if True else "World"
>>> Hello
Nach dem Login kopieren

Verbinden

Der letzte Weg unten ist sehr cool, wenn man zwei Objekte unterschiedlichen Typs bindet.

nfc = ["Packers", "49ers"]
afc = ["Ravens", "Patriots"]
print nfc + afc
>>> ['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
Nach dem Login kopieren

Zahlenkompetenz

#除后向下取整
print 5.0//2
>>> 2
# 2的5次方
print 2**5
>> 32
Nach dem Login kopieren

Achten Sie auf die Division von Gleitkommazahlen

print .3/.1
>>> 2.9999999999999996
print .3//.1
>>> 2.0
Nach dem Login kopieren

Numerischer Vergleich

Das ist so eine tolle einfache Methode, die ich in vielen Sprachen gesehen habe

x = 2
if 3 > x > 1:
   print x
>>> 2
if 1 < x > 0:
   print x
>>> 2
Nach dem Login kopieren

Zwei Listen gleichzeitig iterieren

nfc = ["Packers", "49ers"]
afc = ["Ravens", "Patriots"]
for teama, teamb in zip(nfc, afc):
     print teama + " vs. " + teamb
>>> Packers vs. Ravens
>>> 49ers vs. Patriots
Nach dem Login kopieren

Indizierte Listeniteration

teams = ["Packers", "49ers", "Ravens", "Patriots"]
for index, team in enumerate(teams):
    print index, team
>>> 0 Packers
>>> 1 49ers
>>> 2 Ravens
>>> 3 Patriots
Nach dem Login kopieren

Listenverständnis

Bei einer gegebenen Liste können wir die Methode der geraden Liste auswählen:

numbers = [1,2,3,4,5,6]
even = []
for number in numbers:
    if number%2 == 0:
        even.append(number)
Nach dem Login kopieren

In folgendes umgewandelt:

numbers = [1,2,3,4,5,6]
even = [number for number in numbers if number%2 == 0]
Nach dem Login kopieren

Ist es nicht großartig, haha.

Wörterbuchableitung

Ä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)}
>>> {&#39;49ers&#39;: 1, &#39;Ravens&#39;: 2, &#39;Patriots&#39;: 3, &#39;Packers&#39;: 0}
Nach dem Login kopieren

Wert der Initialisierungsliste

items = [0]*3
print items
>>> [0,0,0]
Nach dem Login kopieren

Liste in String konvertieren

teams = ["Packers", "49ers", "Ravens", "Patriots"]
print ", ".join(teams)
>>> &#39;Packers, 49ers, Ravens, Patriots&#39;
Nach dem Login kopieren

Elemente aus dem Wörterbuch abrufen

Ich gebe zu, dass der Try/Except-Code nicht elegant ist, aber hier ist eine einfache Methode: Versuchen Sie, den Schlüssel im Wörterbuch zu finden, und wenn der entsprechende Wert nicht gefunden wird, verwenden Sie den zweiten Parameter, um seinen Variablenwert festzulegen.

data = {&#39;user&#39;: 1, &#39;name&#39;: &#39;Max&#39;, &#39;three&#39;: 4}
try:
   is_admin = data[&#39;admin&#39;]
except KeyError:
   is_admin = False
Nach dem Login kopieren
替换诚这样:
Nach dem Login kopieren
data = {&#39;user&#39;: 1, &#39;name&#39;: &#39;Max&#39;, &#39;three&#39;: 4}
is_admin = data.get(&#39;admin&#39;, False)
Nach dem Login kopieren

Holen Sie sich eine Teilmenge der Liste

Manchmal benötigen Sie nur einen Teil einer Liste. Hier sind einige Möglichkeiten, eine Teilmenge einer Liste zu erhalten.

x = [1,2,3,4,5,6]
#前3个
print x[:3]
>>> [1,2,3]
#中间4个
print x[1:5]
>>> [2,3,4,5]
#最后3个
print x[3:]
>>> [4,5,6]
#奇数项
print x[::2]
>>> [1,3,5]
#偶数项
print x[1::2]
>>> [2,4,6]
Nach dem Login kopieren

60 Zeichen zum Lösen von FizzBuzz

Vor einiger Zeit hat Jeff Atwood eine einfache Programmierübung namens FizzBuzz beworben. Die Frage wird wie folgt zitiert:

Schreiben Sie ein Programm, das die Zahlen 1 bis 100 ausgibt und die Zahl durch „Fizz“ für Vielfache von 3, „Buzz“ für Vielfache von 5 und „FizzBuzz“ für Zahlen, die beide Vielfache von 3 und 5 sind, ersetzt.

​Hier ist eine kurze, interessante Möglichkeit, dieses Problem zu lösen:

for x in range(101):print"fizz"[x%3*4::]+"buzz"[x%5*4::]or x
Nach dem Login kopieren

Versammeln

Zusätzlich zu den in Python integrierten Datentypen enthält das Erfassungsmodul auch einige spezielle Anwendungsfälle. Counter ist in manchen Situationen sehr praktisch. Wenn Sie am diesjährigen Facebook HackerCup teilgenommen haben, können Sie sogar feststellen, dass es praktisch ist.

from collections import Counter
print Counter("hello")
>>> Counter({&#39;l&#39;: 2, &#39;h&#39;: 1, &#39;e&#39;: 1, &#39;o&#39;: 1})
Nach dem Login kopieren

Iterationswerkzeuge

Wie die collections-Bibliothek gibt es auch eine Bibliothek namens itertools, mit der bestimmte Probleme wirklich effizient gelöst werden können. Ein Anwendungsfall besteht darin, alle Kombinationen zu finden, was Ihnen alle unmöglichen Kombinationen von Elementen in einer Gruppe anzeigen kann

from itertools import combinations
teams = ["Packers", "49ers", "Ravens", "Patriots"]
for game in combinations(teams, 2):
    print game
>>> (&#39;Packers&#39;, &#39;49ers&#39;)
>>> (&#39;Packers&#39;, &#39;Ravens&#39;)
>>> (&#39;Packers&#39;, &#39;Patriots&#39;)
>>> (&#39;49ers&#39;, &#39;Ravens&#39;)
>>> (&#39;49ers&#39;, &#39;Patriots&#39;)
>>> (&#39;Ravens&#39;, &#39;Patriots&#39;)
Nach dem Login kopieren

Falsch == Wahr

Dies ist im Vergleich zur praktischen Technologie eine sehr interessante Sache. In Python sind True und False globale Variablen, also:

False = True
if False:
   print "Hello"
else:
   print "World"
>>> Hello
Nach dem Login kopieren

Wenn Sie weitere coole Tricks haben, können Sie unten eine Nachricht hinterlassen, danke fürs Lesen.

Das obige ist der detaillierte Inhalt vonEinführung in Techniken für Python-Anfänger. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage