random մոդուլի sample մեթոդը
random մոդուլի sample մեթոդը
վերադարձնում է պատահական ընտրություն տարրերից
հաջորդականության մեջ: Մեթոդի առաջին պարամետրում
նշում ենք հաջորդականությունը, երկրորդ պարամետրում՝
տարրերի քանակը, որոնք ցանկանում ենք պատահականորեն ընտրել:
Երրորդ ոչ պարտադիր անվանված
պարամետրում 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))
Օրինակ
Հիմա եկեք փորձենք վերցնել տարրեր bազմությունից:
st = {1, 2, 3, 4, 5}
print(random.sample(st, 2))
Մեզ կվերադարձվի հետևյալ սխալը:
[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))
Սա կապված է նրա հետ, որ Python-ի
3.9 տարբերակից սկսած
չի նախատեսված բազմությունից ընտրություն վերցնելու հնարավորություն: