<C>for<C>-Schleifen vereinfachen

Umsteiger von manchen Programmiersprachen sind es gewohnt, auf Arrays über Indizes zuzugreifen. Nach diesem Muster könnte man die Namen einiger Programmiersprachen so ausgeben, wie in Listing 30 zu sehen.

Listing 30

sprachen = [u"Python", u"Ruby", u"Perl"]
for i in range(len(sprachen)):
    print sprachen[i]

Da Pythons for-Schleife jedoch einfach Wert für Wert über eine Sequenz iteriert, kann man den vorherigen Code deutlich einfacher schreiben, wie Listing 31 zeigt. Benötigen Sie den Index doch einmal, nehmen Sie am besten die eingebaute Funktion enumerate in Anspruch (Listing 32). Der bei jedem Schleifendurchlauf erzeugte Index startet bei Null.

Listing 31

sprachen = [u"Python", u"Ruby", u"Perl"]
for sprache in sprachen:
    print sprache

Listing 32

sprachen = [u"Python", u"Ruby", u"Perl"]
for index, sprache in enumerate(sprachen):
    print "%d: %s" % (index + 1, sprache)

Einfacher Umgang mit Zeichenketten

Zeichenketten, sowohl Byte-Strings als auch Unicode-Strings, gelten in Python als unveränderbar. Sie können hier also nicht wie bei Listen einzelne Abschnitte verändern, sondern müssen bei Bedarf ein neues Zeichenketten-Objekt erzeugen.

Zwar besitzen Strings die Methoden index und find. Wollen Sie aber nur feststellen, ob eine Zeichenkette in einer anderen enthalten ist, erledigen Sie das einfach wie in der ersten if-Anweisung in Listing 33. Daneben gibt es noch Zeichenketten-Methoden, um festzustellen, ob ein String mit einer bestimmten Zeichenkette beginnt beziehungsweise endet. Das demonstrieren die beiden weiteren if-Anweisungen des Listings.

Listing 33

string = "Python"
if "th" in string:
    print 'String enthält "th".'
if string.startswith("Py"):
    print 'String beginnt mit "Py".'
if string.endswith("on"):
    print 'String endet mit "on".'

Wichtig für robuste Python-Programme ist auch die Unterscheidung zwischen Byte-Strings und Unicode-Strings. Dazu gilt es aber weiter auszuholen, so dass dieses Thema einem späteren Artikel vorbehalten bleibt. Einen Einstieg ins Thema finden Sie in der Python-Unicode-FAQ [9].

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

Kommentare

Infos zur Publikation

LU 12/2017: Perfekte Videos

Digitale Ausgabe: Preis € 5,95
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Huawei
Pit Hampelmann, 13.12.2017 11:35, 1 Antworten
Welches Smartphone ist für euch momentan das beste? Sehe ja die Huawei gerade ganz weit vorne. Bi...
Fernstudium Informatik
Joe Cole, 12.12.2017 10:36, 2 Antworten
Hallo! habe früher als ich 13 Jahre angefangen mit HTML und später Java zu programmieren. Weit...
Installation Linux mint auf stick
Reiner Schulz, 10.12.2017 17:34, 3 Antworten
Hallo, ich hab ein ISO-image mit Linux Mint auf einem Stick untergebracht Jetzt kann ich auch...
Canon Maxify 2750 oder ähnlicher Drucker
Hannes Richert, 05.12.2017 20:14, 4 Antworten
Hallo, leider hat Canon mich weiterverwiesen, weil sie Linux nicht supporten.. deshalb hier die...
Ubuntu Server
Steffen Seidler, 05.12.2017 12:10, 1 Antworten
Hallo! Hat jemand eine gute Anleitung für mich, wie ich Ubuntu Server einrichte? Habe bisher...