logo

Python | Selectați o valoare aleatorie dintr-o listă

Dată o listă, sarcina noastră este să selectăm aleatoriu elemente din listă în Python folosind diverse funcții. Selectarea numerelor aleatorii dintr-o listă poate fi folosită uneori în timp ce construiți jocuri, alegeți un interval aleator etc.

Exemplu



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

Selectați valoarea aleatorie dintr-o listă

Mai jos sunt metodele pe care le vom acoperi în acest articol:

Selectați o valoare aleatorie dintr-o listă folosind random.choice()

Acest random.choice() funcția este concepută pentru a obține o eșantionare aleatorie dintr-o listă în Piton și, prin urmare, este cea mai comună metodă de a realiza această sarcină de a prelua un număr aleatoriu de la a listă .

Python3








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))>

>

sunt cântăreți

>

Ieșire:

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

Selectați o valoare aleatorie dintr-o listă folosind random.randrange()

The random.randrange() metoda este folosită pentru a genera un număr aleator într-un interval dat, putem specifica intervalul să fie 0 la lungimea listei și să obținem indexul și apoi valoarea corespunzătoare.

Python3




conversia int în șir

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))>

>

>

Ieșire:

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

Selectați valoarea aleatoare dintr-o listă folosind random.randint()

The random.randint() este folosit pentru a genera un număr aleator, de asemenea, acesta poate fi folosit pentru a genera orice număr dintr-un interval, iar apoi folosind acel număr, putem găsi valoarea la indexul corespunzător, la fel ca tehnica menționată mai sus. Dar diferă prin faptul că necesită 2 argumente obligatorii pentru gamă.

Python3




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))>

>

>

Ieșire:

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

Selectați valoarea aleatoare dintr-o listă folosind random.random()

The random.random() metoda generează numerele în virgulă mobilă în intervalul de la 0 la 1. De asemenea, putem obține valoarea indexului unei liste utilizând această funcție prin înmulțirea rezultatului și apoi tiparând-o într-un număr întreg, astfel încât să obținem indicele întreg și apoi indicele corespunzător valoare de listă.

Python3




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))>

>

Linux gazdă

>

Ieșire:

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

Selectați valoarea aleatoare dintr-o listă folosind random.sample()

Python are o funcție încorporată numită random.sample(). Modulul aleatoriu conține funcția random.sample(). Are capacitatea de a alege mai multe articole dintr-o listă.

Python3




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>))>

>

>

Ieșire:

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

Selectați valoarea aleatoare dintr-o listă folosind random.choices()

The aleatorii.alegeri funcția este stocată în modulul aleatoriu (). Selectarea mai multor elemente dintr-o listă sau a unui singur articol dintr-o anumită secvență este utilă cu ajutorul funcției random.choices.

Python3




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>))>

spring initializr

>

>

Ieșire:

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

Selectați valoarea aleatoare dintr-o listă folosind numpy.random.choice()

The numpy.random.choice() metoda este utilizată pentru obținerea unui eșantion aleatoriu dintr-o matrice în numpy. De asemenea, este posibil să generați un eșantion aleatoriu dintr-o listă prin conversia listei în a numpy matrice.
Importați numpy și inițializați lista. Convertiți lista în a numpy matrice. Utilizați metoda numpy.random.choice() pentru a selecta o valoare aleatorie din matrice. Tipăriți valoarea selectată.

Notă: Instalați numpy folosind pip install numpy

Python3




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))>

>

>

Ieșire:

Random selected number is : 5>

Complexitatea timpului: Complexitatea temporală a numpy.random.choice() metoda este O(k), unde k este dimensiunea eșantionului de generat.
Complexitatea spațiului: Complexitatea spațială a numpy.random.choice() metoda este O(n), unde n este dimensiunea matricei.

Selectați k valoare aleatorie dintr-o listă

Aici am grupat toate elementele într-o pereche de mărimi k.

Python3




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>))>

>

preg_match

>

Ieșire:

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