Dots saraksts un mūsu uzdevums ir nejauši atlasīt elementus no Python saraksta, izmantojot dažādas funkcijas. Nejaušu skaitļu atlasi no saraksta dažreiz var izmantot, veidojot spēles, izvēloties nejaušu diapazonu utt.
Piemērs
Input: [2, 3, 4 , 5, 6 ] Output: 2 Explaination: The output we are getting is a random value from the input list>
Sarakstā atlasiet izlases vērtību
Tālāk ir norādītas metodes, kuras mēs apskatīsim šajā rakstā:
- Izmantojot random.choice()
- Izmantojot random.randrange()
- Izmantojot random.randint()
- Izmantojot random.random()
- Izmantojot random.sample()
- Izmantojot random.choices()
- Izmantojot numpy.random.choice()
- Sarakstā atlasiet k nejaušu vērtību
Izvēlieties nejaušu vērtību no saraksta, izmantojot random.choice()
Šis random.choice() funkcija ir paredzēta izlases izlases iegūšanai no saraksta Python un līdz ar to ir visizplatītākā metode, lai sasniegtu šo uzdevumu — iegūt nejaušu skaitli no a sarakstu .
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))> |
>
agrīnie mukeri
>
Izvade:
Original list is : [1, 4, 5, 2, 7] Random selected number is : 1>
Izvēlieties nejaušu vērtību no saraksta, izmantojot random.randrange()
The random.randrange() metode tiek izmantota, lai ģenerētu nejaušu skaitli noteiktā diapazonā, mēs varam norādīt diapazonu no 0 līdz saraksta garumam un iegūt indeksu un pēc tam atbilstošo vērtību.
Python3
Kā uzzināt monitora izmēru
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))> |
>
>
Izvade:
Original list is : [1, 4, 5, 2, 7] Random selected number is : 7>
Izvēlieties nejaušo vērtību no saraksta, izmantojot random.randint()
The random.randint() tiek izmantots nejaušā skaitļa ģenerēšanai, arī to var izmantot, lai ģenerētu jebkuru skaitli diapazonā, un pēc tam, izmantojot šo skaitli, mēs varam atrast vērtību attiecīgajā indeksā, tāpat kā iepriekšminētajā paņēmienā. Bet tas atšķiras ar to, ka diapazonam ir nepieciešami 2 obligātie argumenti.
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))> |
>
>
Izvade:
Original list is : [1, 4, 5, 2, 7] Random selected number is : 4>
Izvēlieties nejaušo vērtību no saraksta, izmantojot random.random()
The random.random() metode ģenerē peldošā komata skaitļus diapazonā no 0 līdz 1. Mēs varam iegūt arī saraksta indeksa vērtību, izmantojot šo funkciju, reizinot rezultātu un pēc tam ierakstot to uz veselu skaitli, lai iegūtu veselu skaitļu indeksu un pēc tam atbilstošo saraksta vērtība.
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))> |
>
>
Izvade:
Original list is : [1, 4, 5, 2, 7] Random selected number is : 7>
Sarakstā atlasiet nejaušo vērtību, izmantojot random.sample()
Python ir iebūvēta funkcija, ko sauc random.sample(). Nejaušais modulis satur funkciju random.sample(). Tam ir iespēja no saraksta izvēlēties vairākus vienumus.
Python3
dators izgudrots gads
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>))> |
sarakstu java uz masīvu
>
>
Izvade:
Original list is : [1, 4, 5, 2, 7] Random element is : [7, 4, 1, 5, 2]>
Izvēlieties nejaušo vērtību no saraksta, izmantojot random.choices()
The nejauši.izvēles funkcija tiek saglabāta izlases modulī (). Daudzu vienumu atlase no saraksta vai vienu vienumu no noteiktas secības ir ērta, izmantojot funkciju 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>))> |
>
>
Izvade:
the t is : [11, 44, 55, 22, 77] Random element is : [11, 11, 44, 77]>
Izvēlieties nejaušo vērtību no saraksta, izmantojot numpy.random.choice()
The numpy.random.choice() metode tiek izmantota, lai iegūtu nejaušu paraugu no masīva numpy. Ir iespējams arī ģenerēt izlases paraugu no saraksta, pārvēršot sarakstu par a nejutīgs masīvs.
Importējiet numpy un inicializējiet sarakstu. Pārvērtiet sarakstu uz a nejutīgs masīvs. Izmantojiet metodi numpy.random.choice(), lai atlasītu nejaušu vērtību no masīva. Izdrukājiet atlasīto vērtību.
Piezīme: Install numpy, izmantojot 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))> |
virknes līdz veseliem skaitļiem
>
>
Izvade:
Random selected number is : 5>
Laika sarežģītība: Laika sarežģītība numpy.random.choice() metode ir O(k), kur k ir ģenerējamā parauga lielums.
Kosmosa sarežģītība: Telpas sarežģītība numpy.random.choice() metode ir O(n), kur n ir masīva lielums.
Sarakstā atlasiet k nejaušu vērtību
Šeit mēs esam sagrupējuši visus elementus izmēru pāros 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>))> |
>
>
Izvade:
[['G', 'G', 'R'], ['K', 'K', 'E'], ['O', 'F', 'E'], ['S', 'E', 'S'], ['E']]>