Geht ganz einfach mit der Funktion shuffle!
random.shuffle(liste, 2)
Bevor ich das rausgefunden habe, hatte ich selbst was geschrieben:
Code
|
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import random
r = random.SystemRandom() # Uses /dev/urandom or Windows CryptGenRandom for better entropy
liste = ['Kartoffel', 'Urinstein', 'Fahrstuhl']
debug = 0 # 0,1
def ungleich(liste):
"""gibt zwei unterschiedliche Werte aus einer Liste zurück"""
x = r.choice(liste)
y = r.choice(liste)
while x == y:
if debug: print(x + " = " + y + " true")
y = r.choice(liste)
if debug: print(x + " = " + y + " false")
return x, y
# praktisches Beispiel
x, y = ungleich(liste)
print(x + " ist nicht gleich " + y + ".")
|
Ausgabe
imac:code davidak$ python3 ungleich.py
Kartoffel ist nicht gleich Urinstein.
Beispiel aus der Praxis
Meine Python-Bibliothek PyZufall benutzt die Funktion.
Kommentare