meins:python:sequentielle-datentypen
Inhaltsverzeichnis
Sequenzielle Datentypen
Allgemeins
str,unicode,listundtuplelistist ein mutable (änderbar),tupleein immutable (nicht änderbar) Datentyp
Operatoren für sequenzielle Datentypen
x in s: Prüfung, obxins, gibtboolzurückx not in s: Prüfung, obxnicht insist, gibtboolzurücks + t: Verkettung,sundtmüssen vom gleichen Typ seins += t:swirds+tzugewiesens * todert * s: Inhalt ver-s-fachens *= t: dto.s[i]:i-tes Element vons(von 0 beginnend, auch negativ, wenn sinnvoll)s[i:j]: Sequenz vonibisj(Achtung: von/bis nicht Anzahl),s[4:]: bis Ende
Achtung, Achtung: inklusivei, exklusivejs[i:j:k]: Sequenz vonibisj, 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 Listexzuweisens[i:j] = t:ibisjwird durchtersetzt,tmuss 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 Elementstinss.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
strundunicode - alle Operationen für sequentielle Datentypen sind einsetzbar
Mehrere Zeilen
>>> string3 = """Erste Zeile! Ui, noch eine Zeile"""
Methoden
Trennen:
s.split([sep[, maxsplit]]): Teilt beisepvon vorn,maxsplit: Größe der Listes.rsplit([sep[, maxsplit]]): Teilt beisepcon hinten, dto.s.splitlines([keepends]): Klar, oder? → Beispiels.partition(sep): partition zerteilt einen String an der ersten Stelle, an der der übergebene Trennstringsepauftritt, 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,-1wenn 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 vonsubins
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