Python | Vyberte náhodnú hodnotu zo zoznamu

Daný zoznam a našou úlohou je náhodne vybrať prvky zo zoznamu v Pythone pomocou rôznych funkcií. Výber náhodných čísel zo zoznamu možno niekedy použiť pri zostavovaní hier, výbere náhodného rozsahu atď.

Príklad

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

Vyberte náhodnú hodnotu zo zoznamu

Nižšie sú uvedené metódy, ktorým sa budeme venovať v tomto článku:

Vyberte náhodnú hodnotu zo zoznamu pomocou random.choice()

Toto random.choice() funkcia je navrhnutá na získanie náhodného vzorkovania zo zoznamu Python a preto je najbežnejšou metódou na dosiahnutie tejto úlohy získať náhodné číslo z a zoznam .

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

Výkon:

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

Vyberte náhodnú hodnotu zo zoznamu pomocou random.randrange()

The random.randrange() Metóda sa používa na generovanie náhodného čísla v danom rozsahu, môžeme zadať rozsah od 0 do dĺžky zoznamu a získať index a potom zodpovedajúcu hodnotu.

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

Výkon:

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

Vyberte náhodnú hodnotu zo zoznamu pomocou random.randint()

The random.randint() sa používa na generovanie náhodného čísla, aj toto sa dá použiť na vygenerovanie ľubovoľného čísla v rozsahu a potom pomocou tohto čísla môžeme nájsť hodnotu na zodpovedajúcom indexe, rovnako ako vyššie uvedená technika. Ale líši sa tým, že vyžaduje 2 povinné argumenty pre rozsah.

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

Výkon:

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

Vyberte náhodnú hodnotu zo zoznamu pomocou random.random()

The random.random() metóda generuje čísla s pohyblivou rádovou čiarkou v rozsahu od 0 do 1. Hodnotu indexu zoznamu môžeme získať aj pomocou tejto funkcie vynásobením výsledku a následným pretypovaním na celé číslo, aby sme získali index celého čísla a potom zodpovedajúci zoznamová hodnota.

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

Výkon:

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

Vyberte náhodnú hodnotu zo zoznamu pomocou random.sample()

Python má vstavanú funkciu tzv náhodná vzorka(). Modul random obsahuje funkciu random.sample(). Má možnosť vybrať si viacero položiek zo zoznamu.

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

Výkon:

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

Vyberte náhodnú hodnotu zo zoznamu pomocou random.choices()

The náhodné.voľby funkcia je uložená v náhodnom module(). Výber mnohých položiek zo zoznamu alebo jednej položky z určitej sekvencie je praktický pomocou funkcie 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> ))>

Výkon:

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

Vyberte náhodnú hodnotu zo zoznamu pomocou numpy.random.choice()

The numpy.random.choice() metóda sa používa na získanie náhodnej vzorky z poľa v numpy. Je tiež možné vygenerovať náhodnú vzorku zo zoznamu prevedením zoznamu na a nemotorný pole.
Importujte numpy a inicializujte zoznam. Preveďte zoznam na a numpy pole. Pomocou metódy numpy.random.choice() vyberte náhodnú hodnotu z poľa. Vytlačte vybratú hodnotu.

Poznámka: Nainštalujte numpy pomocou 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))>

Výkon:

Random selected number is : 5 

Časová zložitosť: Časová zložitosť numpy.random.choice() metóda je O(k), kde k je veľkosť vzorky, ktorá sa má vytvoriť.
Priestorová zložitosť: Priestorová zložitosť numpy.random.choice() metóda je O(n), kde n je veľkosť poľa.

Vyberte k náhodnú hodnotu zo zoznamu

Tu sme všetky prvky zoskupili do dvojice veľkostí 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> ))>

Výkon:

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