web-dev-qa-db-fra.com

Comment sélectionner 2 éléments aléatoires dans un ensemble Python?

J'ai actuellement un ensemble Python de taille n où n> = 0. Existe-t-il une ou deux lignes rapides Python pour le faire? Par exemple, l'ensemble ressemblera à:

fruits = set(['Apple', 'orange', 'watermelon', 'grape'])

Le but est de choisir 2 éléments aléatoires parmi ceux cités ci-dessus et il est possible que le jeu ci-dessus puisse contenir 0, 1 ou plusieurs éléments. La seule façon dont je peux penser à faire ce qui précède est de convertir l'ensemble en une liste (mutable) à partir de laquelle je peux accéder à 2 index uniques aléatoires dans la longueur de l'ensemble.

142
Thierry Lam

Utilisez le module random: http://docs.python.org/library/random.html

import random
random.sample(set([1, 2, 3, 4, 5, 6]), 2)

Ceci échantillonne les deux valeurs sans remplacement (les deux valeurs sont donc différentes).

294
John Millikin