60 of 151 menu

Método sample del módulo random

El método sample del módulo random devuelve una muestra aleatoria de elementos de una secuencia. En el primer parámetro del método indicamos la secuencia, en el segundo parámetro - la cantidad de elementos, que queremos seleccionar aleatoriamente.

En el tercer parámetro opcional con nombre counts podemos establecer una lista de elementos para repetición. Esto permite aumentar la probabilidad de muestreo de ciertos elementos. Tenga en cuenta que el tercer parámetro del método se agregó solo a partir de la versión Python 3.9.

Sintaxis

import random random.sample(secuencia, cuenta, [counts=repetición])

Ejemplo

Obtengamos tres elementos aleatorios de una lista:

lst = [1, 2, 3, 4, 5] print(random.sample(lst, 3))

Resultado de la ejecución del código:

[2, 1, 5]

Ejemplo

Intentemos también tomar una muestra de elementos aleatorios de una tupla:

tpl = (1, 2, 3, 4, 5) print(random.sample(tpl, 2))

Resultado de la ejecución del código:

[3, 2]

Ejemplo

También se pueden seleccionar elementos de una secuencia generada por la función range:

print(random.sample(range(0, 10), 3))

Resultado de la ejecución del código:

[0, 8, 9]

Ejemplo

Ahora tomemos una lista y usando el parámetro counts asignemos repeticiones para cada elemento de la lista. En nuestro caso, que el primer elemento se repita dos veces, el segundo - tres, y el tercero - cuatro veces. También es necesario especificar el nombre del parámetro k para la salida de la cantidad de elementos:

lst = [1, 2, 3] print(random.sample(lst, counts=[2, 3, 4], k=3))

Este código es equivalente al siguiente:

lst = [1, 1, 2, 2, 2, 3, 3, 3, 3] # lista efectiva print(random.sample(lst, 3))

Ejemplo

Ahora intentemos tomar elementos de un conjunto:

st = {1, 2, 3, 4, 5} print(random.sample(st, 2))

Nos devolverá el siguiente error:

[5, 2] DeprecationWarning: Sampling from a set deprecated since Python 3.9 and will be removed in a subsequent version. print(random.sample(st, 2))

Esto se debe a que desde la versión Python 3.9 no está prevista la posibilidad de tomar muestras de un conjunto.

Véase también

  • método choice del módulo random,
    que devuelve un elemento aleatorio de una secuencia
  • método random del módulo random,
    que devuelve un número pseudoaleatorio
Español
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Usamos cookies para el funcionamiento del sitio, análisis y personalización. El procesamiento de datos se realiza de acuerdo con la Política de privacidad.
aceptar todas configurar rechazar