logo

Python | Vælg tilfældig værdi fra en liste

Givet en liste og vores opgave er at tilfældigt vælge elementer fra listen i Python ved hjælp af forskellige funktioner. Valg af tilfældige tal fra en liste kan nogle gange bruges, mens du bygger spil, vælger et tilfældigt område osv.

Eksempel

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

Vælg den tilfældige værdi fra en liste

Nedenfor er de metoder, vi vil dække i denne artikel:



Vælg en tilfældig værdi fra en liste ved hjælp af random.choice()

Det her random.choice() funktion er designet til at få et tilfældigt udvalg fra en liste i Python og derfor er den mest almindelige metode til at opnå denne opgave med at hente et tilfældigt tal fra a liste .

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 iterate kort

>

Produktion:

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

Vælg en tilfældig værdi fra en liste ved hjælp af random.randrange()

Det random.randrange() metode bruges til at generere et tilfældigt tal i et givet område, kan vi angive området til at være 0 til længden af ​​listen og få indekset og derefter den tilsvarende værdi.

Python3




reactjs kort

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ælg den tilfældige værdi fra en liste ved hjælp af random.randint()

Det random.randint() bruges til at generere det tilfældige tal, også dette kan bruges til at generere et hvilket som helst tal i et område, og ved at bruge det tal, kan vi finde værdien ved det tilsvarende indeks, ligesom den ovennævnte teknik. Men det adskiller sig ved, at det kræver 2 obligatoriske argumenter for rækkevidde.

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ælg den tilfældige værdi fra en liste ved hjælp af random.random()

Det random.random() metoden genererer flydende kommatal i området fra 0 til 1. Vi kan også få indeksværdien af ​​en liste ved at bruge denne funktion ved at gange resultatet og derefter typecaste det til et heltal for at få heltalsindekset og derefter det tilsvarende listeværdi.

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

>

java farver

>

Produktion:

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

Vælg den tilfældige værdi fra en liste ved hjælp af random.sample()

Python har en indbygget funktion kaldet random.sample(). Det tilfældige modul indeholder funktionen random.sample() . Det har mulighed for at vælge flere elementer fra en liste.

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ælg den tilfældige værdi fra en liste ved hjælp af random.choices()

Det tilfældige.valg funktionen er gemt i det tilfældige modul(). At vælge adskillige elementer fra en liste eller et enkelt element fra en bestemt sekvens er praktisk ved hjælp af random.choices-funktionen.

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

bfs søgning

>

>

Produktion:

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

Vælg den tilfældige værdi fra en liste ved hjælp af numpy.random.choice()

Det numpy.random.choice() metode bruges til at få en tilfældig prøve fra et array i numpy. Det er også muligt at generere en tilfældig stikprøve fra en liste ved at konvertere listen til en nusset array.
Importer numpy og initialiser listen. Konverter listen til en nusset array. Brug metoden numpy.random.choice() til at vælge en tilfældig værdi fra arrayet. Udskriv den valgte værdi.

Bemærk: Installer numpy ved hjælp af 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))>

matricer i c-programmering
>

>

Produktion:

Random selected number is : 5>

Tidskompleksitet: Tidskompleksiteten af numpy.random.choice() metoden er O(k), hvor k er størrelsen af ​​den prøve, der skal genereres.
Rumkompleksitet: Rumkompleksiteten af numpy.random.choice() metode er O(n), hvor n er størrelsen af ​​arrayet.

Vælg k tilfældig værdi fra en liste

Her har vi samlet alle elementer i et par størrelser 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']]>