Ich habe eine Liste von Elementen, die sie Mai oder Mai beliebig verschachtelt werden können. Ich möchte eines der Listenelemente ersetzen. Wie auch immer (verschachtelt oder nicht), ich habe die Indexposition des Elements in einer anderen Liste gespeichert.Suchen und Ersetzen eines Elements in einer (möglicherweise) verschachtelten Liste in Python?
Hier ist eine geschachtelte Liste Beispiel, wo ich 'xyz'
durch etwas anderes ersetzen möchte, sagen 123
. Ich habe die Lage von 'xyz'
in loc
gespeichert:
find='xyz'
replace=123
nested=[['abc',1],['xyz',2]]
print(loc) # [1,0]
Mit loc
, wie ich 'xyz'
für 123
ersetzen kann? Hier
ist ein nicht verschachteltes Beispiel, wo Ich mag würde die gleiche Substitution tun:
unnested=['abc','xyz']
print(loc) # [1]
Wenn loc
nur ein Element hat, dann können Sie einfach tun:
*nest,element=loc
if not nest:
unnested[element]=replace
else: pass # need help with this part
Gibt es etwas flexibel genug mit beiden Fällen umgehen?
, die nicht eine verschachtelte Liste ist, es ist eine Liste von Tupeln. Tupel sind unveränderlich, so dass Sie das Element im ersten Fall nicht einfach ersetzen können. –
Sie haben Recht, das ist eine Liste von Tupeln, ich habe versucht, eine einfache Struktur zu zeigen, um das Problem zu vermitteln. Das Anzeigen von mehr Nestern würde nur zur Länge von "loc" beitragen. Ich werde dies bearbeiten, um es zu einer Liste von Listen zu machen. – LMc