ich sitze zur Zeit vor folgendem Problem und hoffe, dass ihr mir mit eurem Wissen und eurer Erfahrung weiterhelfen könnt.
Gegeben sei eine Liste, die als Elemente wiederum Listen beinhaltet:
Code: Alles auswählen
t_liste = [["tag", "8", "20"], ["Nacht", "21", "7"]]
Phase 1: In einem ersten Schritt habe ich dies durch folgenden Code erreicht:
Code: Alles auswählen
for i in t_liste:
i[1] = int(i[1])
i[2] = int(i[2])
print(t_liste) #output: [["tag", 8, 20], ["Nacht", 21, 7]]
Code: Alles auswählen
for i in t_liste:
for n in i[1:]:
n = int(n)
Code: Alles auswählen
for i in t_liste:
for n in i[1:]:
n = int(n)
print(n) #output: 8; 20; 21; 7 --- Elemente werden wie gewünscht als int-Elemente ausgegeben
print(t_liste) # output: [["tag", "8", "20"], ["Nacht", "21", "7"]] --- Elemente werden als str-Elemente ausgegeben
Ich stehe nun vor den Fragen:
(1) Was ist die Erklärung für meine Problemstellung?
(2) Falls das Problem tatsächlich darin liegt, dass in der sub-Schleife eine Kopie der Liste/des Elements erstellt wird, weshalb ist das nur in der sub-Schleife der Fall?
(3) Wie sieht eine mögliche Lösung für diese Problemstellung aus?
Ich freue mich sehr über eure Antworten und hoffe noch viel lernen zu können.
LG und ein schönes neues Jahr!