Visualisieren Sie die beim Ablauf der folgenden Programme erzeugten Objekte und Referenzen mit Kästen und Pfeilen und geben Sie jeweils die Ausgabe des Programms an.
Hinweis: Die vordefinierte Methode reverse
mutiert Listen genau so
wie die von uns definierte gleichnamige Prozedur.
# 1. Programm
def test(a,b):
a.reverse()
print(a)
print(b)
print(a == b)
return a is b
x = [1,2,3]
print(test(x,x))
print(test(x,[1,2,3]))
# 2. Programm
nums = [1,2,3]
lists = [nums,[1,2,3]]
nums = [4,5,6]
lists[1] = lists[0]
nums = lists[1]
nums[0:3] = [7,8,9]
print(lists[0][0])
# Testing List methods
>>> li = [42,17,18,39,12,4,42]
>>> li.reverse()
>>> li
Untersuchen Sie im Python-Interpreter ebenso die List-Methoden append(a), clear(), copy(), count(a), extend(a), index(a), insert(n, a), pop(n), remove(a), sort(). Spezifizieren Sie ggf. die Parameter. Geben Sie die Methoden an,
Versuchen Sie zunächst, experimentell Effekte und Rückgabewerte der Methoden zu ermitteln, bevor sie Quellen zurate ziehen.
Analysieren Sie mithilfe des Python-Interpreters die folgenden Anweisungen:
>>> list1 = [42,17,18,39,12,4,42]
>>> list2 = list1
>>> list3 = list(list1)
>>> list4 = list1+[]
>>> list5 = list1.copy()
>>> list2.sort()
>>> list6 = sorted(list3)
Geben Sie an, welche Listen
Definieren Sie eine Prozedur replace
mit drei Parametern a
, b
, und c
, die die Liste a
mutiert. In der Liste a
sollen dabei alle Vorkommen der Teilliste in b
durch die Liste in c
ersetzt werden. Verwenden Sie dazu außer slice assignments keine weiteren vordefinierten mutierenden Methoden. Schreiben Sie mit Hilfe der definierten Prozedur ein Programm, das alle Vorkommen der Zahlenfolge 1,2,3
in der Liste [1,2,3,4,1,2,1,2,3,4]
durch die Zahl 123
ersetzt und das Ergebnis [123,4,1,2,123,4]
ausgibt.