Eine Liste ist eine Folge ("Sequenz") von Werten.
liste_1 = [2, 4, 6, 8]
liste_2 = ["x", "y", "z"]
namenliste = ["Fritz", "Anton", "Elisabeth"]
print(liste_1)
print(sum(liste_1))
print(liste_1 + liste_2)
print(namenliste[0])
namenliste.insert(1, "Monika")
print(namenliste)
Siehe auch https://docs.python.org/3/tutorial/datastructures.html
Bei Listen gilt (wie auch bei Strings) die Slicing-Syntax:
var_name[start:end] liefert die Zeichen von der Position start (inklusive) bis zur Position end (exklusive)
name = "Maria-Theresia"
print(name[0])
print(name[3:6])
print(name[-3])
Interessant ist auch die Möglichkeit Listen als Elemente in einer Liste zu verwenden!
personen = [] # leere Liste
person_1 = ["Maria-Theresia", "Attnang-Puchheim"]
person_2 = ["Franz-Ferdinand", "Bad Goisern"]
personen.append(person_1)
personen.append(person_2)
print(personen)
Ein Tupel ist kurz gesagt eine unveränderliche Liste.
Tupel können mit oder auch ohne runde Klammern definiert werden:
t_1 = (10, 11, 12)
t_2 = 0.5, 0.75, 0.9, 0,85
print(t_1)
print(t_2)
print(t_2[1]) # t_2 beginnt mit Index 0 und Wert 0.5
print(t_2[1:3]) # t_2 vom Index 1 (inklusive) bis Index 3 (exklusive)
Der Vorteil von Tupeln gegenüber Listen ist weniger Overhead in der Verwaltung des Datentyps und somit eine größere Geschwindigkeit bei der Verwendung gegenüber Listen.
Auch die range-Anweisung bzw. range-Funktion erzeugt ein Tupel.
# SYNTAX: range([start,] stop [, step]) Die Angaben in [] sind optional!
for i in range(10,20,3):
print(i)
List/Tupel/Set-Comprehension
Herkömmliche Vorgehensweise:
meine_liste = [3, 4, 5, 6]
for x in meine_liste:
print(x**2)
Elegantere und effizientere Methode mittels List-Comprehension:
meine_liste = [3, 4, 5, 6]
quadrate = [x**2 for x in meine_liste]
print(quadrate)
Dies hat auch den Vorteil, dass man die neu erschaffene Liste namens quadrate für spätere Zwecke noch zur Verfügung hat.