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:
- Folosind random.choice()
- Folosind random.randrange()
- Folosind random.randint()
- Folosind random.random()
- Folosind random.sample()
- Folosind random.choices()
- Folosind numpy.random.choice()
- Selectați k valoare aleatorie dintr-o listă
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']]>