web-dev-qa-db-fra.com

Que fait la méthode random.sample () dans python)?

Je l'ai googlé beaucoup mais je ne pouvais pas le trouver. Je veux connaître l'utilisation de la méthode random.sample() et que donne-t-elle? Quand devrait-il être utilisé et quelques exemples d'utilisation.

35
kartikeykant18

Selon documentation :

random.sample (population, k)

Retourne une liste de longueur k d'éléments uniques choisis dans la séquence de population. Utilisé pour un échantillonnage aléatoire sans remplacement.

En gros, il sélectionne k éléments aléatoires uniques, un échantillon, dans une séquence:

>>> import random
>>> c = list(range(0, 15))
>>> c
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
>>> random.sample(c, 5)
[9, 2, 3, 14, 11]

random.sample fonctionne aussi directement à partir d’une gamme:

>>> c = range(0, 15)
>>> c
range(0, 15)
>>> random.sample(c, 5)
[12, 3, 6, 14, 10]

En plus des séquences, random.sample fonctionne aussi avec les sets:

>>> c = {1, 2, 4}
>>> random.sample(c, 2)
[4, 1]

Toutefois, random.sample ne fonctionne pas avec des itérateurs arbitraires:

>>> c = [1, 3]
>>> random.sample(iter(c), 5)
TypeError: Population must be a sequence or set.  For dicts, use list(d).
58
alecxe

random.sample() fonctionne aussi sur du texte

exemple:

> text = open("textfile.txt").read() 

> random.sample(text, 5)

> ['f', 's', 'y', 'v', '\n']

\ n est également considéré comme un caractère pour pouvoir également être renvoyé

vous pouvez utiliser random.sample() pour renvoyer des mots aléatoires à partir d'un fichier texte si vous utilisez d'abord la méthode split

exemple:

> words = text.split()

> random.sample(words, 5)

> ['the', 'and', 'a', 'her', 'of']
2
asd0999