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))
Output:
['Ani', 'Dodi']
Contoh Lainnya
Mengambil angka dari range
import random
random.seed(42)
print(random.sample(range(1, 11), 3))
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)
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)
Output:
[1, 4, 2, 3]
[1, 2, 3, 4]
Kesalahan Umum
- Jika
klebih besar dari jumlah posisi yang tersedia, Python menghasilkanValueError. sample()memilih tanpa pengembalian; gunakanchoices()jika item boleh terpilih berulang.- Sejak Python 3.11, population harus berupa sequence; konversikan set dengan
list()terlebih dahulu. - Jumlah elemen
countsharus sama dengan jumlah elemen population.
Pelajari Lebih Lanjut
- Referensi: random.choices() · random.choice() · random.shuffle()
- Buku Belajar Python untuk Pemula: Bab 16 dan proyek game di Bab 20
