Dict hat den Schlüssel aus der Liste

7

Wie kann ich feststellen, ob eines der Listenelemente ein Schlüssel für ein Diktat ist? Der direkte Weg ist,

%Vor%

Aber gibt es einen schnelleren / prägnanteren Weg?

    
mgag 15.11.2009, 15:13
quelle

5 Antworten

1

Angenommen, Sie sprechen über Python, wäre dies eine alternative Methode:

%Vor%     
Pablo Santa Cruz 15.11.2009, 15:26
quelle
20
%Vor%     
Ronny 15.11.2009 15:17
quelle
6

Zusätzlich zu any(item in my_dict for item in my_list) von @Ronnys Antwort :

%Vor%

Oder:

%Vor%

Messen Sie die relative Leistung

Zu beachtende Fälle:

  1. Der Artikel vom Anfang der Liste befindet sich im Wörterbuch.
  2. Das Element vom Ende der Liste befindet sich im Wörterbuch.
  3. Keine Elemente aus der Liste sind im Wörterbuch.

Zu vergleichende Funktionen (siehe main.py ):

%Vor%

Ergebnisse: mgag_loop() ist in allen Fällen das schnellste.

1. Eintrag vom Anfang der Liste ist im Wörterbuch.

%Vor%

2. Der Eintrag vom Ende der Liste befindet sich im Wörterbuch.

%Vor%

3. Keine Elemente aus der Liste sind im Wörterbuch.

%Vor%

Wie reproduziert man

?

Laden Sie main.py herunter, make- figures.py , sollte python main.py ( numpy , matplotlib installiert sein, um Plots zu erstellen).

Um die maximale Größe der Eingabeliste zu ändern, muss die Anzahl der Punkte, die ausgegeben werden sollen, --maxn , --npoints entsprechen. Beispiel:

%Vor%     
jfs 15.11.2009 15:39
quelle
1

Dies war eine beliebte Antwort zu einer verwandten Frage:

%Vor%

Sie können es anpassen, um zu prüfen, ob eines im Wörterbuch erscheint:

%Vor%

Sie können anhand einer Liste von Schlüsseln überprüfen:

%Vor%     
hughdbrown 15.11.2009 15:47
quelle
0

Vielen Dank euch allen. Ich testete die Leistung aller Antworten und der schnellste war

%Vor%

aber ich habe die "set" Antwort nicht versucht, weil ich nicht gesehen habe, wie man es in eine Zeile verwandelt.

    
mgag 15.11.2009 15:51
quelle

Tags und Links