list.append() - eigenartiges Verhalten
Verfasst: Mittwoch 23. Oktober 2019, 10:54
Hallo,
ich möchte alle Kombinationen aus 0 und 1 in einer 2x2 list generieren und habe dazu schnell ein paar Zeilen in Python 2.7 geschrieben:
Interessanterweise ist das hier der Output:
Warum sind alle Einträge der Liste 1??
Ich habe erstmal angenommen, dass es ein Deep-Copy Problem ist und habe stattdessen die Zeile verwendet. Aber das löst das Problem ebenfalls nicht.
Wenn jemand eine Idee hat, wäre ich dankbar
Liebe Grüße,
Fel
ich möchte alle Kombinationen aus 0 und 1 in einer 2x2 list generieren und habe dazu schnell ein paar Zeilen in Python 2.7 geschrieben:
Code: Alles auswählen
kombi = [[0,0],[0,0]]
kombinationen = []
for i in range(2):
kombi[0][0] = i
for j in range(2):
kombi[0][1] = j
for k in range(2):
kombi[1][1] = k
for l in range(2):
kombi[1][0] = l
print kombi
kombinationen.append(kombi)
print 'Kombinationen:', kombinationen
Code: Alles auswählen
[[0, 0], [0, 0]]
[[0, 0], [1, 0]]
[[0, 0], [0, 1]]
[[0, 0], [1, 1]]
[[0, 1], [0, 0]]
[[0, 1], [1, 0]]
[[0, 1], [0, 1]]
[[0, 1], [1, 1]]
[[1, 0], [0, 0]]
[[1, 0], [1, 0]]
[[1, 0], [0, 1]]
[[1, 0], [1, 1]]
[[1, 1], [0, 0]]
[[1, 1], [1, 0]]
[[1, 1], [0, 1]]
[[1, 1], [1, 1]]
Kombinationen: [[[1, 1], [1, 1]], [[1, 1], [1, 1]], [[1, 1], [1, 1]], [[1, 1], [1, 1]], [[1, 1], [1, 1]], [[1, 1], [1, 1]], [[1, 1], [1, 1]], [[1, 1], [1, 1]], [[1, 1], [1, 1]], [[1, 1], [1, 1]], [[1, 1], [1, 1]], [[1, 1], [1, 1]], [[1, 1], [1, 1]], [[1, 1], [1, 1]], [[1, 1], [1, 1]], [[1, 1], [1, 1]]]
Ich habe erstmal angenommen, dass es ein Deep-Copy Problem ist und habe stattdessen die Zeile
Code: Alles auswählen
kombinationen.append(kombi[:])
Wenn jemand eine Idee hat, wäre ich dankbar

Liebe Grüße,
Fel