Методи sample модули random
Методи sample модули random
намунаи тасодуфии элементҳоро аз
пайдарпаиӣ бармегардонад. Дар параметри якум
метод пайдарпаиро ишора мекунем, дар
параметри дуввум - шумораи элементҳо,
ки мо мехоҳем тасодуфӣ интихоб кунем.
Дар параметри номии ихтиёрӣ ва сеюми
k метавонем рӯйхати
элементҳоро барои такрор муқаррар кунем. Ин имкон медиҳад
эҳтимолияти интихоби элементҳои муқарраршударо
афзоиш диҳем. Диққат диҳед, ки
параметри сеюми метод фақат аз
версияи Python 3.9 илова шудааст.
Синтаксис
import random
random.sample(пайдарпаиӣ, шумораи элементҳо, [k=такрор])
Намуна
Биёед се элементи тасодуфиро аз рӯйхат гирем:
lst = [1, 2, 3, 4, 5]
print(random.sample(lst, 3))
Натиҷаи иҷрои рамз:
[2, 1, 5]
Намуна
Биёед инчунин кӯшиш кунем намуна гирем аз элементҳои тасодуфӣ аз кортеж:
tpl = (1, 2, 3, 4, 5)
print(random.sample(tpl, 2))
Натиҷаи иҷрои рамз:
[3, 2]
Намуна
Инчунин метавон элементҳоро аз
пайдарпаие, ки функсияи
range ҳосил мекунад, интихоб кард:
print(random.sample(range(0, 10), 3))
Натиҷаи иҷрои рамз:
[0, 8, 9]
Намуна
Акнун биёед рӯйхатеро гирем ва бо ёрии
параметри counts такрорҳоро
барои ҳар як элементи рӯйхат таъин кунем. Дар ҳолати мо,
бигзор элементи якум ду маротиба,
дуввум - се, ва сеюм - чор
маротиба такрор шавад. Инчунин зарур аст номи параметрро
k барои хориҷ кардани шумораи элементҳо ишора кунем:
lst = [1, 2, 3]
print(random.sample(lst, counts=[2, 3, 4], k=3))
Ин рамз ба ин зерин баробар аст:
lst = [1, 1, 2, 2, 2, 3, 3, 3, 3] # дар асл ин гуна рӯйхат
print(random.sample(lst, 3))
Намуна
Акнун биёед кӯшиш кунем элементҳоро аз маҷмӯа гирем:
st = {1, 2, 3, 4, 5}
print(random.sample(st, 2))
Ба мо хатогии зерин бармегардад:
[5, 2]
DeprecationWarning: Интихоб аз маҷмӯа манъ шудааст
аз Python 3.9 ва дар версияи баъдӣ нест карда мешавад.
print(random.sample(st, 2))
Ин ба он далел аст, ки аз версияи Python
3.9 имконияти
гирифтани намуна аз маҷмӯа пешбинӣ нашудааст.