random մոդուլի sample մեթոդը

random մոդուլի sample մեթոդը վերադարձնում է պատահական ընտրություն տարրերից հաջորդականության մեջ: Մեթոդի առաջին պարամետրում նշում ենք հաջորդականությունը, երկրորդ պարամետրում՝ տարրերի քանակը, որոնք ցանկանում ենք պատահականորեն ընտրել:

Երրորդ ոչ պարտադիր անվանված պարամետրում k կարող ենք նշել տարրերի ցանկ կրկնության համար: Սա թույլ է տալիս բարձրացնել նշված տարրերի ընտրության հավանականությունը: Ուշադրություն դարձրեք, որ մեթոդի երրորդ պարամետրը ավելացվել է միայն Python-ի 3.9 տարբերակից սկսած:

Շարահյուսություն

pythonimport random

random.sample(հաջորդականություն, տարրերի քանակ, [k=կրկնություն])

Օրինակ

Եկեք ստանանք պատահական երեք տարր ցանկից:

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

Կոդի կատարման արդյունքը:

python[2, 1, 5]

Օրինակ

Եկեք նաև փորձենք վերցնել պատահական տարրերի ընտրություն տուփից:

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

Կոդի կատարման արդյունքը:

python[3, 2]

Օրինակ

Կարելի է նաև ընտրել տարրեր հաջորդականությունից, որը գեներացնում է range ֆունկցիան:

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

Կոդի կատարման արդյունքը:

python[0, 8, 9]

Օրինակ

Հիմա եկեք վերցնենք ցանկ և օգտագործելով counts պարամետրը նշանակենք կրկնություններ ցանկի յուրաքանչյուր տարրի համար: Մեր դեպքում, թող առաջին տարրը կրկնվի երկու անգամ, երկրորդը՝ երեք, իսկ երրորդը՝ չորս անգամ: Նաև անհրաժեշտ է նշել պարամետրի անունը k տարրերի քանակի ցուցադրման համար:

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

Այս կոդը համարժեք է հետևյալին:

pythonlst = [1, 1, 2, 2, 2, 3, 3, 3, 3] # փաստացի այդպիսի ցանկ
print(random.sample(lst, 3))

Օրինակ

Հիմա եկեք փորձենք վերցնել տարրեր bազմությունից:

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

Մեզ կվերադարձվի հետևյալ սխալը:

error[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 տարբերակից սկսած չի նախատեսված բազմությունից ընտրություն վերցնելու հնարավորություն:

Տես նաև

  • choice մեթոդը random մոդուլի,
    որն վերադարձնում է պատահական տարր հաջորդականությունից
  • random մեթոդը random մոդուլի,
    որն վերադարձնում է կեղծ պատահական թիվ