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

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




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

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

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

Ieșire:

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