Random modulining sample metodi
random modulining sample metodi
ketma-ketlikdan tasodifiy tanlangan elementlar
namunasini qaytaradi. Metodning birinchi parametrida
ketma-ketlikni, ikkinchi parametrida esa tasodifiy
ravishda tanlamoqchi bo'lgan elementlarimiz sonini
ko'rsatamiz.
Uchinchi ixtiyoriy nomlangan parametrda
k takrorlash uchun elementlar
ro'yxatini belgilashimiz mumkin. Bu berilgan
elementlarning tanlanish ehtimolini oshiradi.
E'tibor bering, metodning uchinchi parametri
faqat Python 3.9 versiyasidan boshlab
qo'shilgan.
Sintaksis
import random
random.sample(ketma-ketlik, elementlar soni, [k=takror])
Misol
Keling, ro'yxatdan tasodifiy uchta elementni olamiz:
lst = [1, 2, 3, 4, 5]
print(random.sample(lst, 3))
Kodni bajarish natijasi:
[2, 1, 5]
Misol
Keling, kortejdan tasodifiy elementlar namunasini olishga ham harakat qilaylik:
tpl = (1, 2, 3, 4, 5)
print(random.sample(tpl, 2))
Kodni bajarish natijasi:
[3, 2]
Misol
Shuningdek, range funksiyasi yaratadigan
ketma-ketlikdan elementlarni tanlash mumkin:
print(random.sample(range(0, 10), 3))
Kodni bajarish natijasi:
[0, 8, 9]
Misol
Endi ro'yxatni olaylik va counts parametri
yordamida ro'yxatdagi har bir element uchun
takrorlanishlarni tayinlaylik. Bizning holatda,
birinchi element ikki marta, ikkinchi element uch
marta, uchinchi element esa to'rt marta takrorlansin.
Shuningdek, elementlar sonini chiqarish uchun
k parametri nomini ko'rsatish zarur:
lst = [1, 2, 3]
print(random.sample(lst, counts=[2, 3, 4], k=3))
Ushbu kod quyidagiga ekvivalent:
lst = [1, 1, 2, 2, 2, 3, 3, 3, 3] # amalda shunday ro'yxat
print(random.sample(lst, 3))
Misol
Endi to'plamdan elementlarni olishga harakat qilaylik:
st = {1, 2, 3, 4, 5}
print(random.sample(st, 2))
Bizga quyidagi xato qaytadi:
[5, 2]
DeprecationWarning: To'plamdan namuna olish Python 3.9 dan boshlab eskirgan
va keyingi versiyada o'chiriladi.
print(random.sample(st, 2))
Buning sababi, Python 3.9 versiyasidan
boshlab to'plamdan namuna olish imkoniyati
ko'zda tutilmagan.