logo

Python | Välj slumpmässigt värde från en lista

Givet en lista och vår uppgift är att slumpmässigt välja element från listan i Python med hjälp av olika funktioner. Att välja slumpmässiga nummer från en lista kan ibland användas när man bygger spel, väljer ett slumpmässigt intervall, etc.

Exempel



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

Välj det slumpmässiga värdet från en lista

Nedan är metoderna som vi kommer att täcka i den här artikeln:

Välj ett slumpmässigt värde från en lista med random.choice()

Detta random.choice() funktionen är utformad för att få ett slumpmässigt urval från en lista i Pytonorm och därför är den vanligaste metoden för att uppnå denna uppgift att hämta ett slumptal från a lista .

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

>

java par

>

Produktion:

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

Välj ett slumpmässigt värde från en lista med random.randrange()

De random.randrange() metod används för att generera ett slumptal i ett givet intervall, kan vi ange intervallet att vara 0 till längden på listan och få indexet, och sedan motsvarande värde.

Python3




textstorlek latex

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

>

>

Produktion:

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

Välj det slumpmässiga värdet från en lista med random.randint()

De random.randint() används för att generera slumptalet, även detta kan användas för att generera vilket tal som helst i ett intervall, och med hjälp av det numret kan vi hitta värdet vid motsvarande index, precis som den ovan nämnda tekniken. Men det skiljer sig genom att det krävs 2 obligatoriska argument för räckvidd.

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

>

>

Produktion:

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

Välj det slumpmässiga värdet från en lista med random.random()

De random.random() metoden genererar flyttalstalen i intervallet 0 till 1. Vi kan också få indexvärdet för en lista med denna funktion genom att multiplicera resultatet och sedan typcasta det till ett heltal för att få heltalsindexet och sedan motsvarande listvärde.

Python3


maven förråd



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

>

>

Produktion:

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

Välj det slumpmässiga värdet från en lista med random.sample()

Python har en inbyggd funktion som heter slumpmässigt urval(). Slumpmodulen innehåller funktionen random.sample(). Den har möjlighet att välja flera objekt från en lista.

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

>

>

Produktion:

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

Välj det slumpmässiga värdet från en lista med random.choices()

De slumpmässiga.val funktionen lagras i den slumpmässiga modulen(). Att välja flera objekt från en lista eller ett enda objekt från en viss sekvens är praktiskt med hjälp av funktionen random.choices.

Python3

filmwebbplatser som liknar 123movies




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

>

>

Produktion:

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

Välj det slumpmässiga värdet från en lista med numpy.random.choice()

De numpy.random.choice() Metoden används för att få ett slumpmässigt urval från en array i numpy. Det är också möjligt att generera ett slumpmässigt urval från en lista genom att konvertera listan till en numpy array.
Importera numpy och initiera listan. Konvertera listan till a numpy array. Använd metoden numpy.random.choice() för att välja ett slumpmässigt värde från arrayen. Skriv ut det valda värdet.

Notera: Installera numpy med 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))>

>

>

format sträng java

Produktion:

Random selected number is : 5>

Tidskomplexitet: Tidskomplexiteten hos numpy.random.choice() metoden är O(k), där k är storleken på provet som ska genereras.
Utrymmes komplexitet: Rymdens komplexitet numpy.random.choice() metoden är O(n), där n är storleken på arrayen.

Välj k slumpmässigt värde från en lista

Här har vi grupperat alla element i ett par storlekar 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>))>

>

>

Produktion:

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