lehrkraefte:snr:informatik:python:listen

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
lehrkraefte:snr:informatik:python:listen [2021/10/23 13:22]
Olaf Schnürer [Modifikation von Listen]
lehrkraefte:snr:informatik:python:listen [2022/09/27 11:48] (current)
Olaf Schnürer
Line 1: Line 1:
 +~~NOTOC~~
 ====== Listen ====== ====== Listen ======
  
Line 62: Line 63:
 print(a) print(a)
 b = schuelerliste[:4]  b = schuelerliste[:4] 
-print(b)  
 # Lässt man den ersten Parameter weg, wird dieser also automatisch auf ... gesetzt. # Lässt man den ersten Parameter weg, wird dieser also automatisch auf ... gesetzt.
 +print(b) 
  
 c = schuelerliste[2: c = schuelerliste[2:
-print(c) 
 # Lässt man den zweiten Parameter weg, wird dieser automatisch auf ... gesetzt. # Lässt man den zweiten Parameter weg, wird dieser automatisch auf ... gesetzt.
 +print(c)
  
 d = schuelerliste[:] d = schuelerliste[:]
-print(d) 
 # Lässt man beide Parameter weg, so werden diese automatisch auf ... und ... gesetzt. # Lässt man beide Parameter weg, so werden diese automatisch auf ... und ... gesetzt.
 # Dies ist nützlich, um eine Kopie der Liste zu erstellen, vgl. die Diskussion unten, wo wir erklären, dass Listen //mutabel// sind. # Dies ist nützlich, um eine Kopie der Liste zu erstellen, vgl. die Diskussion unten, wo wir erklären, dass Listen //mutabel// sind.
 +print(d)
  
 # Die beiden Parameter dürfen auch negativ sein! Was bewirkt das? Hinweis: Zähle vom Ende der Liste! # Die beiden Parameter dürfen auch negativ sein! Was bewirkt das? Hinweis: Zähle vom Ende der Liste!
Line 92: Line 93:
 <code python> <code python>
 h = schuelerliste[::-1]  h = schuelerliste[::-1] 
-print(h) 
 # Beachte hier, dass die weggelassenen beiden ersten Parameter hier nicht wie oben durch ... und ... ersetzt werden, # Beachte hier, dass die weggelassenen beiden ersten Parameter hier nicht wie oben durch ... und ... ersetzt werden,
 # sondern auf Grund der negativen Schrittweite durch ... und ... # sondern auf Grund der negativen Schrittweite durch ... und ...
 +print(h)
 </code> </code>
 </WRAP> </WRAP>
Line 133: Line 134:
 print(schuelerliste) print(schuelerliste)
 </code> </code>
-Beachte die neue Syntax: *Name der Liste) + Punkt + Funktionsaufruf! Solche Funktionsaufrufe verändern bisweilen nur die Liste (wie ''insert'') bisweilen verändern sie die Liste und liefern einen Rückgabewert (wie ''pop''). +Beachte die neue Syntax: (Name der Liste) + Punkt + Funktionsaufruf! Solche Funktionsaufrufe verändern bisweilen nur die Liste (wie ''insert'') bisweilen verändern sie die Liste und liefern einen Rückgabewert (wie ''pop''). 
 </WRAP> </WRAP>
  
Line 142: Line 143:
 </WRAP> </WRAP>
  
 +===== Was Listen alles enthalten können =====
 +
 +<WRAP round info>
 +Listen sind sehr flexible Datenstrukturen: Sie können als Elemente verschiedene Datentypen (Integers/ganze Zahlen; Strings/Zeichenketten; Boolesche Werte/Wahrheitswerte etc.) enthalten; Elemente können sogar selbst Listen sein:
 +<code python>
 +seltsameliste = ["Anna", 2, "Charly", True, [1, 2, False, "Hallo"]]
 +print(seltsameliste)
 +print(seltsameliste[4])
 +print(seltsameliste[4][2])
 +</code>
 +</WRAP>
 +
 +===== Listen erzeugen =====
 +
 +<WRAP round todo>
 +Verstehe die folgenden Befehle!
 +<code python>
 +zahlen = list(range(10))
 +print(zahlen)
 +zahlen2 = list(range(10, 30, 3))
 +print(zahlen2)
 +
 +zahlen3 = [x*x for x in zahlen]
 +print(zahlen3)
 +</code>
 +</WRAP>
 +
 +<WRAP round todo>
 +Schreibe ein Programm, das mit Hilfe des [[https://de.wikipedia.org/wiki/Sieb_des_Eratosthenes|Siebs des Eratosthenes]] eine Liste aller Primzahlen bis zu einer gegebenen Grenze ''n'' ausgibt.
 +</WRAP>
  
 ===== Listen sind mutabel/veränderlich (englisch mutable) ===== ===== Listen sind mutabel/veränderlich (englisch mutable) =====
Line 233: Line 264:
 Da ''a'' als Integer-Variable immutabel ist, kann der Befehl ''b = 4'' den Inhalt der entsprechenden Speicheradresse nicht verändern. Stattdessen wird an einer freien Speicheradresse 4 als Wert der Variablen ''b'' gespeichert. Da ''a'' als Integer-Variable immutabel ist, kann der Befehl ''b = 4'' den Inhalt der entsprechenden Speicheradresse nicht verändern. Stattdessen wird an einer freien Speicheradresse 4 als Wert der Variablen ''b'' gespeichert.
  
-Wovon hängt es ab, ob ein //Datentyp// (Beispiel für Datentypen sind strings, integers, floats, Booleans, lists) mutabel oder immutabel ist? Dies ist schlicht von den Entwicklern der Sprache Python so festgesetzt worden.+Wovon hängt es ab, ob ein //Datentyp// (Beispiele für Datentypen sind strings, integers, floats, Booleans, lists) mutabel oder immutabel ist? Dies ist schlicht von den Entwicklern der Sprache Python so festgesetzt worden.
  
-Will man wirklich eine neue Liste erzeugen (also eine Kopie der alten Liste an einer neuen Speicheradresse), so tut es in unserem Fall((Bei verschachtelten Listen muss man besser aufpassen und die Befehle copy oder deepcopy aus dem Modul copy verwenden: Die unterschiedlichen Effekte sind hier illustriert:+Will man wirklich eine Kopie einer gegebenen Liste (an einer neuen Speicheradresse) erzeugen, so tut es((Bei verschachtelten Listen muss man besser aufpassen und die Befehle copy oder deepcopy aus dem Modul copy verwenden: Die unterschiedlichen Effekte sind hier illustriert:
 <code python> <code python>
 import copy import copy
Line 273: Line 304:
 </code> </code>
  
-Wer noch mehr wissen will, sei auf [[lehrkraefte:snr:informatik:python:variablen-in-python|hier]] verwiesen.+Wer mehr wissen will, mag [[lehrkraefte:snr:informatik:python:variablen-in-python|hier]] weiterlesen.
 </WRAP> </WRAP>
  
- +2aLM und 2dNP bis hier am 27.10.2021 (jedenfalls einige
-===== Was Listen alles enthalten können ===== +===== Aufgaben =====
- +
-<WRAP round info> +
-Listen sind sehr flexible Datenstrukturen: Sie können als Elemente verschiedene Datentypen (Integers/ganze Zahlen; Strings/Zeichenketten; Boolesche Werte/Wahrheitswerte etc.) enthalten; Elemente können sogar selbst Listen sein: +
-<code python> +
-seltsameliste = ["Anna", 2, "Charly", True, [1, 2, False, "Hallo"]] +
-print(seltsameliste) +
-print(seltsameliste[4]) +
-print(seltsameliste[4][2]) +
-</code> +
-</WRAP> +
- +
-===== Listen erzeugen ===== +
- +
-<WRAP round todo> +
-Verstehe die folgenden Befehle! +
-<code python> +
-zahlen = list(range(10)) +
-print(zahlen) +
-zahlen2 = list(range(10, 30, 3)) +
-print(zahlen2) +
- +
-zahlen3 = [x*x for x in zahlen] +
-print(zahlen3) +
-</code> +
-</WRAP> +
- +
  
 <WRAP round todo> <WRAP round todo>
  • lehrkraefte/snr/informatik/python/listen.1634988150.txt.gz
  • Last modified: 2021/10/23 13:22
  • by Olaf Schnürer