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

pythonimport random

random.sample(ketma-ketlik, elementlar soni, [k=takror])

Misol

Keling, ro'yxatdan tasodifiy uchta elementni olamiz:

pythonlst = [1, 2, 3, 4, 5]
print(random.sample(lst, 3))

Kodni bajarish natijasi:

python[2, 1, 5]

Misol

Keling, kortejdan tasodifiy elementlar namunasini olishga ham harakat qilaylik:

pythontpl = (1, 2, 3, 4, 5)
print(random.sample(tpl, 2))

Kodni bajarish natijasi:

python[3, 2]

Misol

Shuningdek, range funksiyasi yaratadigan ketma-ketlikdan elementlarni tanlash mumkin:

pythonprint(random.sample(range(0, 10), 3))

Kodni bajarish natijasi:

python[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:

pythonlst = [1, 2, 3]
print(random.sample(lst, counts=[2, 3, 4], k=3))

Ushbu kod quyidagiga ekvivalent:

pythonlst = [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:

pythonst = {1, 2, 3, 4, 5}
print(random.sample(st, 2))

Bizga quyidagi xato qaytadi:

error[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.

Shuningdek qarang

  • random modulining choice metodi,
    u ketma-ketlikdan tasodifiy elementni qaytaradi
  • random modulining random metodi,
    u psevdotasodifiy sonni qaytaradi