pythonischer Weg Listenelemente mit ihren Indizes zu verknüpfen

8
___ answer2831677 ___

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%     
___ answer2831697 ___

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?

    
___ answer2831725 ___

In Python2.7 + können Sie es so schreiben

%Vor%     
___ answer2831701 ___

Ich mag das Diktat (zip (t, Bereich (len (t)))) am besten.

    
___ answer2832424 ___

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%     
___ qstnhdr ___ pythonischer Weg Listenelemente mit ihren Indizes zu verknüpfen ___ tag123list ___ Liste kann sich beziehen auf: eine verkettete Liste (eine geordnete Menge von Knoten, die jeweils auf ihren Nachfolger verweisen) oder eine Form eines dynamischen Arrays. Um nicht für HTML-Listen verwendet zu werden, verwenden Sie stattdessen [html-lists]. ___ tag123enumerate ___ Bezieht sich auf Funktionen oder Methoden, die Enumerationen oder Enumerationstypen zurückgeben. Dies können Objekte, Datentypen oder Datenstrukturen sein, in denen jedes der Elemente eines Satzes eine Eins-zu-Eins-Entsprechung mit einem Satz von geordneten Zahlen aufweist. Ein Beispiel ist die integrierte Funktion 'enumerate ()' in Python. ___ tag123dictionary ___ Ein Wörterbuch (oder eine Karte) in der Informatik ist eine Datenstruktur, die Schlüssel auf Werte abbildet, so dass bei einem Schlüssel der entsprechende Wert effizient abgerufen werden kann. Bei Fragen zu Mapping-Funktionen über Datensammlungen verwenden Sie bitte das Tag [map-function]; und für Geographie, [Karten]. ___ tag123python ___ Python ist eine dynamische und stark typisierte Programmiersprache, die die Usability betont. Zwei ähnliche, aber größtenteils inkompatible Versionen von Python sind weit verbreitet (2 und 3). Wenn Sie eine versionsspezifische Python-Frage haben, sollten Sie die Tags [python-2.7] oder [python-3.x] zusätzlich zum Tag [python] verwenden. Wenn Sie eine Python-Variante wie jython, pypy, iron-python usw. verwenden, kennzeichnen Sie diese bitte entsprechend. ___ answer2831685 ___
%Vor%     
___
Dragan Chupacabric 14.05.2010, 03:28
quelle

6 Antworten

13

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%     
kibibu 14.05.2010, 03:30
quelle
12

In Python2.7 + können Sie es so schreiben

%Vor%     
John La Rooy 14.05.2010 03:48
quelle
4
%Vor%     
YOU 14.05.2010 03:32
quelle
2

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?

    
user297250 14.05.2010 03:37
quelle
2

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%     
krawyoti 14.05.2010 07:12
quelle
0

Ich mag das Diktat (zip (t, Bereich (len (t)))) am besten.

    
Arafangion 14.05.2010 03:38
quelle

Tags und Links