Python | Izberite naključno vrednost s seznama
Podan seznam in naša naloga je naključno izbrati elemente s seznama v Pythonu z uporabo različnih funkcij. Izbira naključnih števil s seznama se lahko včasih uporabi med sestavljanjem iger, izbiranjem naključnega obsega itd.
Primer
Input: [2, 3, 4 , 5, 6 ] Output: 2 Explaination: The output we are getting is a random value from the input list
Izberite naključno vrednost s seznama
Spodaj so metode, ki jih bomo obravnavali v tem članku:
- Uporaba random.choice()
- Uporaba random.randrange()
- Uporaba random.randint()
- Uporaba random.random()
- Uporaba random.sample()
- Uporaba random.choices()
- Uporaba numpy.random.choice()
- Na seznamu izberite k naključno vrednost
Izberite naključno vrednost s seznama z uporabo random.choice()
to random.choice() funkcija je zasnovana za pridobivanje naključnega vzorčenja s seznama v Python in je zato najpogostejša metoda za doseganje te naloge pridobivanja naključnega števila iz a seznam .
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))> |
Izhod:
Original list is : [1, 4, 5, 2, 7] Random selected number is : 1
Izberite naključno vrednost s seznama z uporabo random.randrange()
The random.randrange() se uporablja za generiranje naključnega števila v danem obsegu, lahko določimo obseg 0 glede na dolžino seznama in pridobimo indeks, nato pa ustrezno vrednost.
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))> |
Izhod:
Original list is : [1, 4, 5, 2, 7] Random selected number is : 7
Izberite naključno vrednost s seznama z uporabo random.randint()
The random.randint() se uporablja za generiranje naključnega števila, prav tako se lahko uporabi za generiranje poljubnega števila v obsegu, nato pa lahko z uporabo tega števila najdemo vrednost pri ustreznem indeksu, tako kot zgoraj omenjena tehnika. Razlikuje pa se po tem, da zahteva 2 obvezna argumenta za obseg.
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))> |
Izhod:
Original list is : [1, 4, 5, 2, 7] Random selected number is : 4
Izberite naključno vrednost s seznama z uporabo random.random()
The random.random() metoda generira števila s plavajočo vejico v območju od 0 do 1. S to funkcijo lahko dobimo tudi vrednost indeksa seznama tako, da pomnožimo rezultat in ga nato pretvorimo v celo število, da dobimo celoštevilski indeks in nato ustrezen vrednost seznama.
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))> |
Izhod:
Original list is : [1, 4, 5, 2, 7] Random selected number is : 7
Izberite naključno vrednost s seznama z uporabo random.sample()
Python ima vgrajeno funkcijo, imenovano random.sample(). Modul random vsebuje funkcijo random.sample(). Ima možnost izbire več elementov s seznama.
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> ))> |
Izhod:
Original list is : [1, 4, 5, 2, 7] Random element is : [7, 4, 1, 5, 2]
Izberite naključno vrednost s seznama z uporabo random.choices()
The naključne.izbire funkcija je shranjena v naključnem modulu(). Izbiranje številnih elementov s seznama ali posameznega elementa iz določenega zaporedja je priročno s pomočjo funkcije 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> ))> |
Izhod:
the t is : [11, 44, 55, 22, 77] Random element is : [11, 11, 44, 77]
Izberite naključno vrednost s seznama z uporabo numpy.random.choice()
The numpy.random.choice() metoda se uporablja za pridobivanje naključnega vzorca iz matrike v numpy. Prav tako je mogoče ustvariti naključni vzorec s seznama s pretvorbo seznama v a numpy niz.
Uvozite numpy in inicializirajte seznam. Pretvori seznam v a numpy niz. Uporabite metodo numpy.random.choice(), da izberete naključno vrednost iz matrike. Natisnite izbrano vrednost.
Opomba: Namestite numpy z uporabo 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))> |
Izhod:
Random selected number is : 5
Časovna zapletenost: Časovna zahtevnost numpy.random.choice() metoda je O(k), kjer je k velikost vzorca, ki ga je treba ustvariti.
Kompleksnost prostora: Prostorska kompleksnost numpy.random.choice() metoda je O(n), kjer je n velikost matrike.
Na seznamu izberite k naključno vrednost
Tukaj smo združili vse elemente v par velikosti 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> ))> |
Izhod:
[['G', 'G', 'R'], ['K', 'K', 'E'], ['O', 'F', 'E'], ['S', 'E', 'S'], ['E']]