es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Selección aleatoria de elementos de lista

Objetivo: imprimir una selección aleatoria de elementos de una lista, al menos uno para todos, como una comprensión de lista.

Intento:

import random

BENEFITS = ['foo', 'bar', 'idk', 'lol']

selection = [sorted(random.sample(BENEFITS, random.randint(1, len(BENEFITS))))]
print(selection)

Salida deseada:

foo, idk

ValueError:

ValueError                                Traceback (most recent call last)
<ipython-input-17-407cc8d7fbfe> in <module>
----> 1 v = [[k, eval(v)] for k, v in sorted(random.sample([BENEFITS], random.randint(3, len(BENEFITS)-1)))]
      2 
      3 print(v)

~\Anaconda3\lib\random.py in sample(self, population, k)
    361         n = len(population)
    362         if not 0 <= k <= n:
--> 363             raise ValueError("Sample larger than population or is negative")
    364         result = [None] * k
    365         setsize = 21        # size of a small set minus size of an empty list

ValueError: Sample larger than population or is negative

Por favor, avísame si hay algo más que pueda agregar al post.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Solución:

    import random
    
    BENEFICIOS = ['foo', 'bar', 'idk', 'lol']
    
    seleccion = random.sample(BENEFICIOS, random.randint(1, len(BENEFICIOS)))
    print(seleccion)
    

Comments are closed.