Auswahl zufälliger Werte aus dem Wörterbuch

8

Sagen wir, ich habe dieses Wörterbuch:

%Vor%

Ich erhalte mit diesem Code den Schlüssel, der den größten Wert hat:

%Vor%

es gibt 'c'

zurück

Aber ich möchte einen zufälligen Schlüssel aus den 3 größten Werten auswählen. Nach diesem Wörterbuch sind die Top 3:

%Vor%

Es sollte zufällig einen Schlüssel von ihnen auswählen. Wie kann ich das tun?

    
JayGatsby 10.01.2016, 15:37
quelle

3 Antworten

13

Wenn Sie die Top 3 Schlüssel suchen und dann einen der Schlüssel zufällig erhalten möchten, dann würde ich random.choice und collections.Counter , so

%Vor%

Counter(d).most_common(3) erhält die ersten drei Werte aus dem Wörterbuch auf die Werte des Wörterbuchobjekts, das an es übergeben wird, und dann wählen wir zufällig einen der zurückgegebenen Werte aus und geben nur den Schlüssel von ihm zurück.

    
thefourtheye 10.01.2016, 15:41
quelle
7

Erhalte die Schlüssel mit den drei größten Werten.

%Vor%

Wählen Sie anschließend eine von ihnen zufällig aus:

%Vor%     
timgeb 10.01.2016 15:42
quelle
4

Sortiere das Wörterbuch nach absteigendem Wert, erhalte die ersten drei Objekte aus dem resultierenden list und verwende dann random.choice :

%Vor%

Und nennen Sie es nicht dict oder Sie maskieren das eingebaute.

    
TigerhawkT3 10.01.2016 15:42
quelle

Tags und Links