Daftar Referensi Python

random.sample() memilih sejumlah item acak tanpa pengembalian. Hasil tidak mengubah koleksi asli dan setiap posisi hanya dapat dipilih sekali.

Catatan: contoh memakai random.seed(42) agar output dapat diverifikasi. Hapus seed untuk hasil yang berubah setiap kali dijalankan.

Sintaks

random.sample(population, k, *, counts=None)

Parameter

Parameter Wajib? Keterangan
population Ya Sequence sumber pilihan
k Ya Jumlah item yang dipilih
counts Tidak Jumlah kemunculan virtual tiap item; keyword-only, default None

Nilai balik: list baru sepanjang k. Population asli tidak berubah.

Contoh

import random

random.seed(42)
nama = ["Ani", "Budi", "Cici", "Dodi"]
print(random.sample(nama, 2))

Coba di IDE

Output:

['Ani', 'Dodi']

Contoh Lainnya

Mengambil angka dari range

import random

random.seed(42)
print(random.sample(range(1, 11), 3))

Coba di IDE

Output:

[2, 1, 5]

Memakai counts untuk item berulang

import random

random.seed(42)
hasil = random.sample(
    ["merah", "biru"], k=3, counts=[2, 2]
)
print(hasil)

Coba di IDE

Output:

['merah', 'biru', 'merah']

Mengacak tanpa mengubah list asli

import random

random.seed(42)
data = [1, 2, 3, 4]
hasil = random.sample(data, len(data))
print(hasil)
print(data)

Coba di IDE

Output:

[1, 4, 2, 3]
[1, 2, 3, 4]

Kesalahan Umum

  • Jika k lebih besar dari jumlah posisi yang tersedia, Python menghasilkan ValueError.
  • sample() memilih tanpa pengembalian; gunakan choices() jika item boleh terpilih berulang.
  • Sejak Python 3.11, population harus berupa sequence; konversikan set dengan list() terlebih dahulu.
  • Jumlah elemen counts harus sama dengan jumlah elemen population.

Pelajari Lebih Lanjut