Fassen Sie einige Python-Programmierkenntnisse zusammen

伊谢尔伦
Freigeben: 2017-06-28 13:17:14
Original
1388 Leute haben es durchsucht

In diesem Artikel werden hauptsächlich einige Programmierkenntnisse für Python-Anfänger vorgestellt. Sie basieren alle auf einigen grundlegenden Vorschlägen für Programmiergewohnheiten. Freunde in Not können sich auf den

Austausch Variable

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

if-Anweisung inline

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

Verbindung

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

Zahlenkenntnisse

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

Dies ist eine der wenigen

mehrsprachigens, bei denen ich eine so tolle und einfache Methode gesehen habe

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

Über 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

Über indizierte Listen iterieren

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 gerade Listenmethode 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
konvertiert in Folgendes:


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

Liste initialisieren Konvertieren Sie die Werteliste

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

in einen String

teams = ["Packers", "49ers", "Ravens", "Patriots"]
print ", ".join(teams)
>>> &#39;Packers, 49ers, Ravens, Patriots&#39;
Nach dem Login kopieren
aus dem Wörterbuch. Holen Sie sich das Element in

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. Wenn der entsprechende Wert nicht gefunden wird, wird der zweite Parameter verwendet auf seinen Variablenwert gesetzt werden.


Ersetzen Sie so:
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
1
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
Eine Teilmenge einer Liste abrufen

Manchmal reicht es einfach Es gibt 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 bewarb Jeff Atwood eine einfache Programmierübung namens FizzBuzz, in der die Frage

zitiert wurde

Wie folgt: Schreiben Sie ein Programm zum Drucken der Zahlen 1 bis 100. Vielfache von 3 geben „Fizz“ aus, um diese Zahl zu ersetzen. Vielfache von 5 geben „Buzz“ aus 5 Digitaldruck „FizzBuzz“.

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
Sammlung

Zusätzlich zur integrierten Python-Funktion

Zusätzlich zu den Datentypen

umfasst 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
Iterationstools

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.


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 eher eine interessante Sache als eine praktische Technik. In Python sind True und False globale Variablen, also:


Das obige ist der detaillierte Inhalt vonFassen Sie einige Python-Programmierkenntnisse zusammen. 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