Heim >Backend-Entwicklung >Python-Tutorial >Unverzichtbare Python-Tipps für Anfänger

Unverzichtbare Python-Tipps für Anfänger

高洛峰
高洛峰Original
2017-03-17 15:51:421014Durchsuche

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.

AustauschVariablen

x = 6
y = 5
x, y = y, x
print x
>>> 5
print y
>>> 6

if-Anweisung in der Zeile

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

beitreten

unten Der letzte Weg ist 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

Zahlenkenntnisse

#除后向下取整
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

Dies ist einer von die Dinge, die ich in vielen Sprachen gesehen habe. Es gibt nur wenige so großartige und einfache Methoden

x = 2
if 3 > x > 1:
   print x
>>> 2
if 1  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 gerade Listenmethode auswählen:

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

verwandelt sich in Folgendes:

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

Nicht wahr? 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, 'Packers': 0}

Die Werte einer Liste initialisieren

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

Listenkonvertierung Element aus Wörterbuch abrufen für

Zeichenfolge
teams = ["Packers", "49ers", "Ravens", "Patriots"]
print ", ".join(teams)
>>> 'Packers, 49ers, Ravens, Patriots'

Ich gebe zu, Try/Except-Code ist nicht elegant, aber hier ist eine einfache Möglichkeit, probieren Sie es aus Im Wörterbuch nach Schlüssel suchen. Wenn der entsprechende Wert nicht gefunden wird, wird der zweite Parameter verwendet, um seinen Variablenwert festzulegen. Ersetzen Sie

data = {'user': 1, 'name': 'Max', 'three': 4}
try:
   is_admin = data['admin']
except KeyError:
   is_admin = False

wie folgt:

data = {'user': 1, 'name': 'Max', 'three': 4}
is_admin = data.get('admin', False)

Holen Sie sich eine Teilmenge einer Liste

Manchmal benötigen Sie nur eine Teilmenge von Elementen in einer Liste, hier sind einige Teilmengen einer Listenmengenmethode.

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 bewarb Jeff Atwood eine einfache Programmierübung namens FizzBuzz. Die Frage wurde 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
Sammlung

Zusätzlich zum in Python integrierten

Datentyp, Im Sammlungsmodul sind auch einige spezielle Anwendungsfälle enthalten, und Counter 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.

from collections import Counter
print Counter("hello")
>>> Counter({'l': 2, 'h': 1, 'e': 1, 'o': 1})
Iterationstools

Wie die Sammlungsbibliothek gibt es auch eine Bibliothek namens itertools, mit der bestimmte Probleme effizient gelöst werden können. Einer der Anwendungsfälle besteht darin, alle Kombinationen zu finden, die Ihnen alle unmöglichen Kombinationen von Elementen in einer Gruppe anzeigen können

from itertools import combinations
teams = ["Packers", "49ers", "Ravens", "Patriots"]
for game in combinations(teams, 2):
    print game
>>> ('Packers', '49ers')
>>> ('Packers', 'Ravens')
>>> ('Packers', 'Patriots')
>>> ('49ers', 'Ravens')
>>> ('49ers', 'Patriots')
>>> ('Ravens', 'Patriots')
False == True
Dies ist eine sehr interessante Sache im Vergleich zur praktischen Technologie in Python, True und False sind globale Variablen, also:

Das obige ist der detaillierte Inhalt vonUnverzichtbare Python-Tipps für 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