Random modulunun sample metodu
random modulunun sample metodu
ardıcıllıqdan elementlərin təsadüfi seçimini
qaytarır. Metodun birinci parametrində
ardıcıllığı, ikinci parametrində isə
təsadüfi şəkildə seçmək istədiyimiz
elementlərin sayını göstəririk.
Üçüncü isteğe bağlı adlandırılmış
parametrdə k təkrar üçün elementlərin
siyahısını təyin edə bilərik. Bu, verilmiş
elementlərin seçilmə ehtimalını artırmağa
imkan verir. Diqqət edin ki, metodun üçüncü
parametri yalnız Python 3.9 versiyasından
etibarən əlavə edilib.
Sintaksis
import random
random.sample(ardıcıllıq, elementlərin_sayı, [k=təkrar])
Nümunə
Gəlin siyahıdan təsadüfi üç elementi əldə edək:
lst = [1, 2, 3, 4, 5]
print(random.sample(lst, 3))
Kodun icrasının nəticəsi:
[2, 1, 5]
Nümunə
Gəlin həmçinin kortecdən təsadüfi elementlərin seçimini götürməyə çalışaq:
tpl = (1, 2, 3, 4, 5)
print(random.sample(tpl, 2))
Kodun icrasının nəticəsi:
[3, 2]
Nümunə
Həmçinin range funksiyasının yaratdığı
ardıcıllıqdan elementləri seçmək olar:
print(random.sample(range(0, 10), 3))
Kodun icrasının nəticəsi:
[0, 8, 9]
Nümunə
İndi gəlin bir siyahı götürək və counts
parametrindən istifadə edərək siyahıdakı hər bir
element üçün təkrarları təyin edək. Bizim vəziyyətimizdə,
birinci element iki dəfə, ikinci element üç dəfə,
üçüncü element isə dörd dəfə təkrar olunsun. Həmçinin
elementlərin sayını çıxarmaq üçün k parametrinin
adını göstərmək lazımdır:
lst = [1, 2, 3]
print(random.sample(lst, counts=[2, 3, 4], k=3))
Bu kod aşağıdakına ekvivalentdir:
lst = [1, 1, 2, 2, 2, 3, 3, 3, 3] # əslində belə bir siyahı
print(random.sample(lst, 3))
Nümunə
İndi gəlin çoxluqdan elementləri götürməyə çalışaq:
st = {1, 2, 3, 4, 5}
print(random.sample(st, 2))
Bizə aşağıdakı xəta qaytarılacaq:
[5, 2]
DeprecationWarning: Sampling from a set deprecated
since Python 3.9 and will be removed in a subsequent version.
print(random.sample(st, 2))
Bu onunla əlaqədardır ki, Python 3.9
versiyasından etibarən çoxluqdan seçim götürmək
imkanı nəzərdə tutulmayıb.