Heim >Backend-Entwicklung >Python-Tutorial >Einführung in Techniken für Python-Anfänger

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

巴扎黑
巴扎黑Original
2017-04-05 13:25:541242Durchsuche

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

 if-Anweisung in Zeile

print "Hello" if True else "World"
>>> Hello

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

Zahlenkompetenz

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

Achten Sie auf 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
if 3 > x > 1:
   print x
>>> 2
if 1 < x > 0:
   print x
>>> 2

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

Indizierte Listeniteration

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

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)

In folgendes umgewandelt:

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

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}

Wert der Initialisierungsliste

items = [0]*3
print items
>>> [0,0,0]

Liste in String konvertieren

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

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
替换诚这样:
data = {&#39;user&#39;: 1, &#39;name&#39;: &#39;Max&#39;, &#39;three&#39;: 4}
is_admin = data.get(&#39;admin&#39;, False)

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]

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

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})

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;)

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

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!

Stellungnahme:
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
Vorheriger Artikel:Einführung in PythonNächster Artikel:Einführung in Python