logo

Python | Seleccioneu un valor aleatori d'una llista

Donada una llista i la nostra tasca és seleccionar aleatòriament elements de la llista a Python mitjançant diverses funcions. La selecció de números aleatoris d'una llista es pot utilitzar de vegades durant la creació de jocs, l'elecció d'un rang aleatori, etc.

Exemple



  Input:   [2, 3, 4 , 5, 6 ]   Output:   2   Explaination:  The output we are getting is a random value from the input list>

Seleccioneu el valor aleatori d'una llista

A continuació es mostren els mètodes que tractarem en aquest article:

Seleccioneu un valor aleatori d'una llista mitjançant random.choice()

Això random.choice() La funció està dissenyada per obtenir un mostreig aleatori d'una llista Python i per tant és el mètode més comú per aconseguir aquesta tasca d'obtenir un nombre aleatori de a llista .

Python 3








import> random> # initializing list> test_list>=> [>1>,>4>,>5>,>2>,>7>]> # printing original list> print>(>'Original list is : '> +> str>(test_list))> # using random.choice() to> # get a random number> random_num>=> random.choice(test_list)> # printing random number> print>(>'Random selected number is : '> +> str>(random_num))>

>

mín màx

>

Sortida:

Original list is : [1, 4, 5, 2, 7] Random selected number is : 1>

Seleccioneu un valor aleatori d'una llista mitjançant random.randrange()

El random.randrange() El mètode s'utilitza per generar un nombre aleatori en un rang determinat, podem especificar que l'interval sigui 0 a la longitud de la llista i obtenir l'índex i després el valor corresponent.

Python 3




Llegint un fitxer csv en java

import> random> # initializing list> test_list>=> [>1>,>4>,>5>,>2>,>7>]> # printing original list> print>(>'Original list is : '> +> str>(test_list))> # using random.randrange() to> # get a random number> rand_idx>=> random.randrange(>len>(test_list))> random_num>=> test_list[rand_idx]> # printing random number> print>(>'Random selected number is : '> +> str>(random_num))>

>

>

Sortida:

Original list is : [1, 4, 5, 2, 7] Random selected number is : 7>

Seleccioneu el valor aleatori d'una llista mitjançant random.randint()

El random.randint() s'utilitza per generar el nombre aleatori, també es pot utilitzar per generar qualsevol nombre d'un rang, i després utilitzant aquest nombre, podem trobar el valor a l'índex corresponent, igual que la tècnica esmentada anteriorment. Però es diferencia pel fet que requereix 2 arguments obligatoris per al rang.

Python 3




import> random> # initializing list> test_list>=> [>1>,>4>,>5>,>2>,>7>]> # printing original list> print>(>'Original list is : '> +> str>(test_list))> # using random.randint() to> # get a random number> rand_idx>=> random.randint(>0>,>len>(test_list)>->1>)> random_num>=> test_list[rand_idx]> # printing random number> print>(>'Random selected number is : '> +> str>(random_num))>

>

>

Sortida:

Original list is : [1, 4, 5, 2, 7] Random selected number is : 4>

Seleccioneu el valor aleatori d'una llista amb random.random()

El random.random() genera els nombres de coma flotant en el rang de 0 a 1. També podem obtenir el valor de l'índex d'una llista mitjançant aquesta funció multiplicant el resultat i després escrivint-lo a un nombre enter per obtenir l'índex sencer i després el corresponent. valor de llista.

Python 3




import> random> # initializing list> test_list>=> [>1>,>4>,>5>,>2>,>7>]> # printing original list> print>(>'Original list is : '> +> str>(test_list))> # using random.random() to> # get a random number> rand_idx>=> int>(random.random()>*> len>(test_list))> random_num>=> test_list[rand_idx]> # printing random number> print>(>'Random selected number is : '> +> str>(random_num))>

>

>

Sortida:

powershell major o igual
Original list is : [1, 4, 5, 2, 7] Random selected number is : 7>

Seleccioneu el valor aleatori d'una llista mitjançant random.sample()

Python té una funció integrada anomenada mostra aleatòria (). El mòdul aleatori conté la funció random.sample(). Té la possibilitat de triar diversos elements d'una llista.

Python 3




import> random> test_list>=> [>1>,>4>,>5>,>2>,>7>]> print>(>'Original list is : '> +> str>(test_list))> print>(>'Random element is :'>, random.sample(test_list,>5>))>

>

>

Sortida:

Original list is : [1, 4, 5, 2, 7] Random element is : [7, 4, 1, 5, 2]>

Seleccioneu el valor aleatori d'una llista mitjançant random.choices()

El eleccions.atzares La funció s'emmagatzema al mòdul aleatori (). Seleccionar nombrosos elements d'una llista o un únic element d'una seqüència particular és útil amb l'ajuda de la funció random.choices.

Python 3




import> random> test_list>=> [>11>,>44>,>55>,>22>,>77>]> print>(>'Original list is : '> +> str>(test_list))> print>(>'Random element is :'>, random.choices(test_list, k>=>4>))>

>

bucle foreach mecanografiat
>

Sortida:

the t is : [11, 44, 55, 22, 77] Random element is : [11, 11, 44, 77]>

Seleccioneu el valor aleatori d'una llista mitjançant numpy.random.choice()

El numpy.random.choice() El mètode s'utilitza per obtenir una mostra aleatòria d'una matriu en numpy. També és possible generar una mostra aleatòria d'una llista convertint la llista a a numpy matriu.
Importeu numpy i inicialitzeu la llista. Converteix la llista a a numpy matriu. Utilitzeu el mètode numpy.random.choice() per seleccionar un valor aleatori de la matriu. Imprimeix el valor seleccionat.

Nota: Instal·leu numpy amb pip install numpy

Python 3




import> numpy as np> # Initializing list> test_list>=> [>2>,>3>,>4>,>5>,>6>]> # Converting list to numpy array> test_array>=> np.array(test_list)> # Using numpy.random.choice() to get a random number> random_num>=> np.random.choice(test_array)> # Printing the random number> print>(>'Random selected number is : '> +> str>(random_num))>

>

>

Sortida:

Random selected number is : 5>

Complexitat temporal: La complexitat temporal del numpy.random.choice() El mètode és O(k), on k és la mida de la mostra a generar.
Complexitat espacial: La complexitat espacial del numpy.random.choice() El mètode és O(n), on n és la mida de la matriu.

Seleccioneu k valor aleatori d'una llista

Aquí hem agrupat tots els elements en un parell de mides k.

Python 3


programa de nombres primers en java



import> random> def> select_random_Ns(l, k):> >random.shuffle(l)> >res>=> []> >for> i>in> range>(>0>,>len>(l), k):> >res.append(l[i:i>+> k])> >return> res> > l>=> [>'G'>,>'E'>,>'E'>,>'K'>,>'S'>,>'F'>,>'O'>,>'R'>,>'G'>,>'E'>,>'E'>,>'K'>,>'S'>]> print>(select_random_Ns(l,>3>))>

>

>

Sortida:

[['G', 'G', 'R'], ['K', 'K', 'E'], ['O', 'F', 'E'], ['S', 'E', 'S'], ['E']]>