Ersetzen einer Unterliste durch eine andere Unterliste in Python

8

Ich möchte eine Unterliste von der Liste a durch eine andere Unterliste ersetzen. Etwas wie das:

%Vor%

Sagen wir, ich möchte eine Unterliste wie:

nehmen %Vor%

und ersetzen Sie es durch

%Vor%

Also wird das Endergebnis

sein %Vor%

Irgendwelche Vorschläge?

    
darxyde 15.10.2012, 14:41
quelle

4 Antworten

9
%Vor%

Ich hoffe, das hilft

    
inspectorG4dget 15.10.2012, 14:44
quelle
11

Sie können dies mit List Slicing gut machen:

%Vor%

Wie erhalten wir die Indizes hier? Nun, fangen wir damit an, den ersten zu finden. Wir scannen Element für Element, bis wir eine passende Unterliste finden, und geben den Anfang und das Ende dieser Unterliste zurück.

%Vor%

Wir können jetzt unseren Ersatz machen - wir fangen am Anfang an, ersetzen den ersten, den wir finden, und versuchen dann, einen anderen zu finden, nachdem wir unseren neuen Ersatz gefunden haben. Wir wiederholen dies, bis wir keine Unterlisten mehr finden können.

%Vor%

Was wir gut gebrauchen können:

%Vor%     
Gareth Latty 15.10.2012 14:49
quelle
1

Sie müssen ein Segment von start_index bis end_index + 1 nehmen und Ihre Unterliste zuweisen.

Genau wie du es kannst: - a[0] = 5 , kannst du auch eine Unterliste deinem slice zuweisen: - a[0:5] - & gt; Erstellt ein Segment aus index 0 to index 4

Sie müssen nur position des sublist finden, das Sie ersetzen möchten.

%Vor%

Wie Sie sehen können, muss die substituted Unterliste nicht die gleiche Länge wie die substituting Unterliste haben.

In der Tat können Sie ersetzen, 4 Längenliste mit 2 Längenliste und umgekehrt.

    
Rohit Jain 15.10.2012 14:44
quelle
0

Hier ist ein anderer Weg, dies zu tun. Diese Methode funktioniert, wenn mehr als eine Unterliste ersetzt werden muss:

%Vor%

Ergebnis:

%Vor%

Ersetze mehr als eine Unterliste:

%Vor%     
Akavall 15.10.2012 15:01
quelle

Tags und Links