ich möchte Elemente in eine leere Liste hinzuzufügen, sieht mein Code wie folgt aus:Python - Anfügen Elemente verschachtelte Liste
A = [1,2,3,4]
B = [["a 1","a 2","g 8"],["a 3"],[],["a 5"]]
C = ["a", "g"]
D = [[] for _ in range(len(C))]
D = [D for _ in range(len(A))]
for i in range(len(A)):
for j in range(len(B[i])):
for k in range(len(C)):
if B[i][j].split(" ")[0] == C[0]:
D[i][1].append(B[i][j].split(" ")[1])
Ausgang ist:
[[['1', '2', '3', '5'], ['1', '2', '3', '5']],
[['1', '2', '3', '5'], ['1', '2', '3', '5']],
[['1', '2', '3', '5'], ['1', '2', '3', '5']],
[['1', '2', '3', '5'], ['1', '2', '3', '5']]]
Ausgang Ich möchte:
[[['1','2'], ['8']],
[['3'], []],
[[], []],
[['5'], []]]
Gleiches geschieht, wenn ich versuche, die Liste manuell anzufügen (D[0][0].append(1))
... jede Unterliste wird auf die gleiche Weise angefügt.
Ich habe Koordinaten in A, verschiedene Objekte an diesen Koordinaten in B (zum Beispiel a 1
und g 23
die alle mit einem Buchstaben und einer Nummer benannt sind. C ist eine Liste, die die Buchstaben enthält. Sagen wir, ich habe 2 verschiedene Buchstaben (a and g
). Was ich bekommen will, ist eine Liste von Listen, die mir für jeden Buchstaben sagt, welche Zahlen an bestimmten Koordinaten sind. Was passiert, ist, dass der append-Befehl die Nummer an der richtigen Stelle hinzufügt, aber für jedes i ... also bekomme ich eine Liste mit identischen Listen.
Haben Sie eine Idee, was ich falsch mache?
Thx Sie alle. Es funktioniert gut ... ich habe so viel mit Python zu lernen ... – derh