Sie können ein Listenverständnis (oder einen Generator, abhängig von Ihrer Python-Version) verwenden, um einen einfachen In-Place-Austausch für Ihr zweites Beispiel durchzuführen.
Verwenden eines Listenverständnisses:
%Vor%Verwenden eines Generatorausdrucks (Python 2.4 und höher):
%Vor%Sind alle deine Elemente einzigartig (d. h. deine Liste wäre niemals 5,6,7,7)? Die Dict-Lösung funktioniert nur, wenn alle Elemente eindeutig sind.
Indem Sie den Index speichern, duplizieren Sie im Wesentlichen Informationen, da Sie einfach den aktuellen Index des Elements in der Liste abfragen können. Das Duplizieren von Informationen ist normalerweise nicht die beste Idee, da es die Möglichkeit bietet, dass eine Datenmenge nicht mit der anderen übereinstimmt.
Wenn die Liste geändert wird, gibt es auch nichts, was Sie daran hindert, denselben Index mehr als einem Element zuzuweisen.
Warum versuchen Sie, den Indexwert zu speichern, wenn Sie einfach den Index aus der Liste abrufen können?
In Python2.7 + können Sie es so schreiben
%Vor%Ich mag das Diktat (zip (t, Bereich (len (t)))) am besten.
Wie jeder schon geschrieben hat, würde ich in Python 2.6 folgendes als das pythonischste betrachten:
%Vor%Trotzdem würde ich in einem Moment der funktionalen Raserei schreiben:
%Vor%Sie können ein Listenverständnis (oder einen Generator, abhängig von Ihrer Python-Version) verwenden, um einen einfachen In-Place-Austausch für Ihr zweites Beispiel durchzuführen.
Verwenden eines Listenverständnisses:
%Vor%Verwenden eines Generatorausdrucks (Python 2.4 und höher):
%Vor%Sind alle deine Elemente einzigartig (d. h. deine Liste wäre niemals 5,6,7,7)? Die Dict-Lösung funktioniert nur, wenn alle Elemente eindeutig sind.
Indem Sie den Index speichern, duplizieren Sie im Wesentlichen Informationen, da Sie einfach den aktuellen Index des Elements in der Liste abfragen können. Das Duplizieren von Informationen ist normalerweise nicht die beste Idee, da es die Möglichkeit bietet, dass eine Datenmenge nicht mit der anderen übereinstimmt.
Wenn die Liste geändert wird, gibt es auch nichts, was Sie daran hindert, denselben Index mehr als einem Element zuzuweisen.
Warum versuchen Sie, den Indexwert zu speichern, wenn Sie einfach den Index aus der Liste abrufen können?
Tags und Links python list dictionary enumerate