Kaedah sample modul random

Kaedah sample modul random mengembalikan pilihan rawak elemen daripada jujukan. Dalam parameter pertama kaedah kami nyatakan jujukan, dalam parameter kedua - bilangan elemen, yang kami ingin pilih secara rawak.

Dalam parameter ketiga yang tidak wajib dan bernama k kami boleh tetapkan senarai elemen untuk ulangan. Ini membenarkan meningkatkan kebarangkalian pilihan elemen tertentu. Sila ambil perhatian bahawa parameter ketiga kaedah ditambah hanya bermula dari versi Python 3.9.

Sintaks

pythonimport random

random.sample(jujukan, bilangan elemen, [k=ulangan])

Contoh

Mari dapatkan tiga elemen rawak daripada senarai:

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

Keputusan pelaksanaan kod:

python[2, 1, 5]

Contoh

Mari juga cuba ambil pilihan elemen rawak daripada tupel:

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

Keputusan pelaksanaan kod:

python[3, 2]

Contoh

Juga boleh pilih elemen daripada jujukan, yang dijana oleh fungsi range:

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

Keputusan pelaksanaan kod:

python[0, 8, 9]

Contoh

Sekarang mari ambil senarai dan dengan bantuan parameter counts tetapkan ulangan untuk setiap elemen daripada senarai. Dalam kes kami, biar elemen pertama diulang dua kali, kedua - tiga, dan ketiga - empat kali. Juga perlu nyatakan nama parameter k untuk output bilangan elemen:

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

Kod ini setara dengan berikut:

pythonlst = [1, 1, 2, 2, 2, 3, 3, 3, 3] # secara faktual senarai seperti ini
print(random.sample(lst, 3))

Contoh

Sekarang mari cuba ambil elemen daripada set:

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

Akan dikembalikan ralat berikut:

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))

Ini berkaitan dengan fakta bahawa dari versi Python 3.9 kemungkinan untuk mengambil pilihan daripada set tidak disediakan.

Lihat juga

  • kaedah choice modul random,
    yang mengembalikan elemen rawak daripada jujukan
  • kaedah random modul random,
    yang mengembalikan nombor pseudorawak