2016-03-29 5 views
-1

So habe ich eine Reihe von Funktionen sagen f1(dict) , f2(dict) , f3(dict) Jeder prüft eine Bedingung und wenn die Bedingung nicht erfüllt ist, entfernt ein Element aus dem Diktat.Wenden Sie eine Reihe von Funktionen zufällig auf ein Python-Wörterbuch mit random.shuffle()

Ich möchte diese drei Funktionen auf ein Wörterbuch a ={} anwenden. Aber ich möchte sie in zufälliger Reihenfolge anwenden (so dass eine Bedingung in den letzten verbleibenden Elementen des Wörterbuchs nicht über die anderen vorherrscht)

Was ist der beste Weg, dies in Python zu tun?

+0

ich es zuerst selbst versuchen würde, einen Satz von 3 Zahlen machen, dann von ihm zufällig auswählen. Zuerst brauchst du eine Zufallszahl von 0 bis 2, dann platzierst du die ausgewählte Zahl und machst, wenn .. elif..else blockiert. Wiederholen Sie für 0..1. Verwenden Sie später eine zufällige Zufallsauswahl. – roadrunner66

Antwort

2

können Sie verwenden, um die random.shuffle() Funktion:

import random 

functions = [f1, f2, f3] 
random.shuffle(functions) 
for function in functions: 
    function(mydict) 
+0

Ah, wusste nicht, dass er alle 3 in zufälliger Reihenfolge anwenden wollte. – Bahrom

+0

Noch eine Klarstellung, Funktion = [] zeigt eine Liste meiner Methoden an, oder? – user77005

+0

Ja. Ich definiere zuerst eine Liste Ihrer Funktionen, und dann mische ich die Liste mit 'random.shuffle()', so dass sie in zufälliger Reihenfolge erscheinen. Dann gehe ich jede Funktion durch und nenne sie mit dem Wörterbuch als Argument. – zondo

Verwandte Themen