meins:python:sequentielle-datentypen
Inhaltsverzeichnis
Sequenzielle Datentypen
Allgemeins
str
,unicode
,list
undtuple
list
ist ein mutable (änderbar),tuple
ein immutable (nicht änderbar) Datentyp
Operatoren für sequenzielle Datentypen
x in s
: Prüfung, obx
ins
, gibtbool
zurückx not in s
: Prüfung, obx
nicht ins
ist, gibtbool
zurücks + t
: Verkettung,s
undt
müssen vom gleichen Typ seins += t
:s
wirds+t
zugewiesens * t
odert * s
: Inhalt ver-s-fachens *= t
: dto.s[i]
:i
-tes Element vons
(von 0 beginnend, auch negativ, wenn sinnvoll)s[i:j]
: Sequenz voni
bisj
(Achtung: von/bis nicht Anzahl),s[4:]
: bis Ende
Achtung, Achtung: inklusivei
, exklusivej
s[i:j:k]
: Sequenz voni
bisj
, nur jedesk
-te Elementlen(s)
: Länge vons
(Achtung: Anzahl von Zeichen, nicht Index!)
letztes Element:s[len(s)-1]
min(s)
/max(s)
: Kleinstes/größtes Element, wenn Ordnung vorhanden
Listen
Operatoren
list
- beliebige Instanzen
l = [1, 0.5, „String“, 2]
- Inhalt kann veränder werden!!!
>>> s = [1, 2, 3, 4, 5, 6, 7] >>> s[3] = 1337 >>> s [1, 2, 3, 1337, 5, 6, 7] >>> for x in s: print(x) 1 2 3 ...
s[i] = x
:i
-test Element der Listex
zuweisens[i:j] = t
:i
bisj
wird durcht
ersetzt,t
muss iterierbar sein, inklusivei
, exklusivej
Anzahl muss übereinstimmen!s[i:j:k] = t
: dto.
Anzahl muss übereinstimmen!del[…]
: dto.
Methoden
Die Methoden verändern die jeweilige Liste!
s.append(t)
s.extend(t)
:
# append x = [1, 2, 3] x.append([4, 5]) print (x) >>> [1, 2, 3, [4, 5]] # extend x = [1, 2, 3] x.extend([4, 5]) print (x) >>> [1, 2, 3, 4, 5]
s.count(t)
: Anzahl des Elementst
ins
s.index(x[, i[, j]])
: Gibt den Index k des ersten Vorkommens von x im Bereich i ⇐ k < j zurück.s.insert(i, x)
: Fügt x an der Stelle i in s ein. Anschließend hat s[i] den Wert von x, wobei alle folgenden Elemente um eine Stelle nach hinten aufrücken.
Nur ein Element kann eingefügt werden.s.pop([i])
: Gibt das i-te Element von s zurück und entfernt es aus s. Ist i nicht angegeben, wird das letzte Element genommen. Es wird das entfernte Element zurückgegeben.s.remove(x)
: Entfernt das erste Vorkommen von x aus der Sequenz s und gibt es zurück.s.reverse()
: Kehrt die Reihenfolge der Elemente in s um.s.sort(…)
: siehe https://wiki.python.org/moin/HowTo/Sorting
Tupel
Unveränderbare Listen
>>> a = (1, 2, 3, 4, 5) >>> a[3] 4
- Umschließende Klammern kann man weglassen:
schnack = 1, 2, 3
Entpacken:
schnack = (1, 2, 3) (eins, zwei, drei) = schnack eins >>> 1 zwei >>> 2 drei >>>3
Zuweisungen mehrerer Variablen:
a, b = 10, 20 a >>> 10 b >>> 20
Strings
- Datentypen
str
undunicode
- alle Operationen für sequentielle Datentypen sind einsetzbar
Mehrere Zeilen
>>> string3 = """Erste Zeile! Ui, noch eine Zeile"""
Methoden
Trennen:
s.split([sep[, maxsplit]])
: Teilt beisep
von vorn,maxsplit
: Größe der Listes.rsplit([sep[, maxsplit]])
: Teilt beisep
con hinten, dto.s.splitlines([keepends])
: Klar, oder? → Beispiels.partition(sep)
: partition zerteilt einen String an der ersten Stelle, an der der übergebene Trennstringsep
auftritt, und gibt ein Tupel zurück, das aus dem Teil vor dem Trennstring, dem Trennstring selbst und dem Teil danach bestehts.rpartition(sep)
: dto.. von hinten
# mehrere Trennzeichen: >>> s = "1---2-3" >>> s.split("-") ['1', '', '', '2', '3'] # splitlines: text = '''Hallo Ballo Schnick Schnack Schnuck ''' print text.splitlines(1) >>> ['Hallo\n', 'Ballo\n', 'Schnick\n', 'Schnack\n', 'Schnuck\n']
Suchen:
Zur Erinnerung: Beim Slicing eines Strings s mit s[start:end] wird ein Teilstring erzeugt, der das Element s[end]
nicht mehr enthält.
s.find(sub[, start[, end]])
: sucht und gibt Position zurück,-1
wenn nicht- besser:
if „Py“ in „Python“
s.rfind(sub[, start[, end]])
: dto. von hintens.index(sub[, start[, end]])
: dto.s.find()
s.rindex(sub[, start[, end]])
: dto.s.rfind()
s.count(sub[, start[, end]])
: zählt das Vorkommen vonsub
ins
Ersetzen:
s.replace(old, new[, count])
s.lower()
s.upper()
s.swapcase()
s.capitalize()
s.title()
: Anfangsbuchstabe jedes Wortes großs.expandtabs([tabsize])
Entfernen bestimmter Zeichen am Anfang oder am Ende von Strings:
s.strip([chars])
s.lstrip([chars])
s.rstrip([chars])
- alle Whitespaces werden entfernt (alle, von links, von rechts)
Verketten:
s.join(seq)
„, “.join(kontakt_liste)
/www/htdocs/v033852/vor/data/pages/meins/python/sequentielle-datentypen.txt · Zuletzt geändert: Thursday, 01. Nov 2018 17:03 von Ivo Schwalbe