Shuffle() adalah metode bawaan dari modul acak. Ini digunakan untuk mengocok urutan (daftar). Mengacak daftar objek berarti mengubah posisi elemen urutan menggunakan Python
Sintaks acak. acak()
Urutan item dalam urutan, seperti daftar, diatur ulang menggunakan metode shuffle(). Fungsi ini memodifikasi daftar awal daripada mengembalikan yang baru
Sintaksis. acak. acak (urutan, fungsi)
Parameter.
- urutan. bisa daftar
- fungsi. opsional dan secara default adalah random(). Itu harus mengembalikan nilai antara 0 dan 1
Pengembalian. Tidak ada apa-apa
Python acak. shuffle() berfungsi untuk mengacak daftar
Contoh 1.
Python3
# import the random module
import random
# declare a list
sample_list= ['A'Original list : ['A', 'B', 'C', 'D', 'E'] After the first shuffle : ['A', 'D', 'B', 'E', 'C'] After the second shuffle : ['A', 'D', 'B', 'E', 'C']0Original list : ['A', 'B', 'C', 'D', 'E'] After the first shuffle : ['A', 'D', 'B', 'E', 'C'] After the second shuffle : ['A', 'D', 'B', 'E', 'C']1Original list : ['A', 'B', 'C', 'D', 'E'] After the first shuffle : ['A', 'D', 'B', 'E', 'C'] After the second shuffle : ['A', 'D', 'B', 'E', 'C']0_______0Original list : ['A', 'B', 'C', 'D', 'E'] After the first shuffle : ['A', 'D', 'B', 'E', 'C'] After the second shuffle : ['A', 'D', 'B', 'E', 'C']3Original list : ['A', 'B', 'C', 'D', 'E'] After the first shuffle : ['A', 'D', 'B', 'E', 'C'] After the second shuffle : ['A', 'D', 'B', 'E', 'C']0Original list : ['A', 'B', 'C', 'D', 'E'] After the first shuffle : ['A', 'D', 'B', 'E', 'C'] After the second shuffle : ['A', 'D', 'B', 'E', 'C']5Original list : ['A', 'B', 'C', 'D', 'E'] After the first shuffle : ['A', 'D', 'B', 'E', 'C'] After the second shuffle : ['A', 'D', 'B', 'E', 'C']0Original list : ['A', 'B', 'C', 'D', 'E'] After the first shuffle : ['A', 'D', 'B', 'E', 'C'] After the second shuffle : ['A', 'D', 'B', 'E', 'C']7Original list : ['A', 'B', 'C', 'D', 'E'] After the first shuffle : ['A', 'D', 'B', 'E', 'C'] After the second shuffle : ['A', 'D', 'B', 'E', 'C']8
Pada artikel ini, kami akan menunjukkan cara mengocok daftar objek dengan python. Di bawah ini adalah berbagai metode untuk menyelesaikan tugas ini
Menggunakan acak. acak() fungsi
Menggunakan acak. contoh() fungsi
Menggunakan Algoritma Fisher-Yates shuffle
Menggunakan acak. randint() dan fungsi pop()
Asumsikan kita telah mengambil daftar yang berisi beberapa elemen. Kami akan mengocok elemen daftar secara acak menggunakan metode berbeda seperti yang ditentukan di atas
Menggunakan acak. acak() fungsi
Metode shuffle() dalam modul acak digunakan untuk mengocok daftar. Dibutuhkan urutan, seperti daftar, dan mengatur ulang urutan item
Metode shuffle() ini mengubah daftar asli, tidak mengembalikan daftar baru. Urutan daftar hilang dalam proses ini yang merupakan satu-satunya kelemahan dari metode ini
Sintaksis
random.shuffle(sequence, function) _Parameter
urutan - setiap urutan seperti daftar, tupel, dll
function(opsional)- nama fungsi yang mengembalikan nilai antara 0. 0 dan 1. 0. Fungsi random() akan digunakan jika tidak ditentukan
Algoritma (Langkah)
Berikut ini adalah Algoritma / langkah-langkah yang harus diikuti untuk melakukan tugas yang diinginkan -
Gunakan kata kunci impor untuk mengimpor modul acak
Buat variabel untuk menyimpan daftar input
Cetak daftar masukan
Gunakan acak. shuffle() berfungsi untuk mengocok semua elemen daftar secara acak dengan meneruskan daftar sebagai argumen
Cetak daftar acak yang dihasilkan
Contoh
Program berikut mengembalikan daftar yang diacak menggunakan acak. shuffle() fungsi–
Keluaran
Saat dieksekusi, program di atas akan menghasilkan output berikut -
Input list: [3, 10, 5, 9, 2] Shuffled list: [9, 3, 10, 2, 5]Menggunakan acak. contoh() fungsi
Acak. sample() metode dalam python mengembalikan daftar baru yang dikocok. Daftar asli tetap tidak berubah
Acak. metode sample() mengembalikan daftar yang berisi sejumlah elemen yang dipilih secara acak dari suatu urutan
Sintaksis
random.sample(sequence, k)Parameter
urutan - setiap urutan seperti daftar, tupel, dll
k - jumlah elemen yang akan dikembalikan
Algoritma (Langkah)
Berikut ini adalah Algoritma / langkah-langkah yang harus diikuti untuk melakukan tugas yang diinginkan -
Gunakan kata kunci impor untuk mengimpor modul acak
Gunakan acak. sample() berfungsi untuk mengocok semua elemen daftar secara acak dengan meneruskan daftar input, dan panjang daftar input menggunakan fungsi len()(Jumlah item dalam objek dikembalikan oleh metode len()) sebagai argumen
Cetak daftar acak yang dihasilkan
Contoh
Program berikut mengembalikan daftar yang diacak menggunakan acak. shuffle() fungsi–
Keluaran
Saat dieksekusi, program di atas akan menghasilkan output berikut -
Input list: [3, 10, 5, 9, 2] Shuffled list: [2, 5, 9, 10, 3]Menggunakan Algoritma Fisher-Yates shuffle
Ini adalah algoritma terkenal di Python yang digunakan untuk mengocok urutan angka
Algoritma Fisher-Yates mengocok
Algoritma Fisher-Yates shuffle memiliki kompleksitas waktu O(n). Asumsinya adalah kita diberi fungsi rand(), yang menghasilkan bilangan acak dalam waktu O(1). Idenya adalah memulai dengan elemen terakhir dan menukarnya dengan elemen yang dipilih secara acak dari seluruh array (termasuk yang terakhir). Pertimbangkan array dari 0 hingga n-2 (dengan ukuran dikurangi satu) dan ulangi prosesnya hingga kita mencapai elemen pertama
Algoritma (Langkah)
Berikut ini adalah Algoritma / langkah-langkah yang harus diikuti untuk melakukan tugas yang diinginkan -
Gunakan for loop untuk menelusuri dari akhir daftar dengan fungsi len() (mengembalikan jumlah item dalam objek)
Dapatkan indeks acak hingga nilai indeks saat ini menggunakan acak. metode randint() (Mengembalikan nomor acak dalam rentang yang ditentukan)
Tukar elemen indeks saat ini dengan elemen pada indeks acak
Cetak daftar acak yang dihasilkan
Contoh
Program berikut mengembalikan daftar yang dikocok menggunakan Algoritma Fisher-Yates shuffle –
Keluaran
Saat dieksekusi, program di atas akan menghasilkan output berikut -
Input list: [3, 10, 5, 9, 2] Shuffled list: [9, 10, 3, 5, 2]Menggunakan acak. randint() dan fungsi pop()
acak. randint() − Mengembalikan angka acak dalam rentang yang ditentukan
Contoh
Program berikut mengembalikan daftar yang diacak menggunakan acak. fungsi randint() dan pop() –
Keluaran
Saat dieksekusi, program di atas akan menghasilkan output berikut -
Input list: [3, 10, 5, 9, 2] Shuffled list: [10, 2, 3, 5, 9]Kesimpulan
Pada artikel ini, kita mempelajari empat metode Python berbeda untuk mengocok daftar yang diberikan. Kami juga belajar tentang algoritme Fisher-Yates untuk daftar acak dan cara menggunakannya dengan Python