Dalam posting ini, Anda dapat mempelajari beberapa contoh tentang cara mengacak daftar dengan Python, berfungsi acak. shuffle() dan cara mengocok dua daftar dengan cara yang sama. Semua contoh diuji terhadap Python 3. 7
Beberapa contohnya termasuk pengocokan gratis, pengocokan yang disinkronkan dari beberapa daftar dengan seed, pengocokan berbagai jenis daftar. Contohnya adalah untuk pemula hingga mahir dan menyertakan kode dan hasil lengkap
Anda mungkin suka juga. Contoh Nomor Acak Python
Fungsi acak. acak()
Dokumentasi resmi menggambarkan fungsinya sebagai
acak. acak (x[, acak])
Kocok urutan x pada tempatnya
Argumen opsional random adalah fungsi 0-argumen yang mengembalikan float acak di [0. 0, 1. 0];
Untuk mengocok urutan yang tidak dapat diubah dan mengembalikan daftar acak baru, gunakan sample(x, k=len(x)) sebagai gantinya
Sintaksnya sederhana dan penggunaan fungsinya sangat mudah. Ada beberapa argumen
- x adalah urutan apa pun (daftar, String, atau tupel) yang ingin Anda acak
- Argumen opsional acak adalah fungsi 0-argumen yang mengembalikan angka float acak antara 0. 1 ke 1. 0. Secara default, ini adalah fungsi random()
Daftar acak angka / rentang Python
Mengacak daftar dengan Python angka dari 0 hingga 20 (kecuali 20) dihasilkan oleh rentang. Menghasilkan daftar angka dengan rentang adalah operasi umum di Python. Satu-satunya kelemahan adalah mereka diurutkan. Jika Anda ingin mengocok daftar secara acak, Anda dapat menggunakan acak. acak
hasil
[9, 15, 19, 16, 8, 17, 10, 1, 14, 4, 18, 13, 0, 5, 12, 3, 7, 11, 6, 2] _Mengulang shuffle akan menghasilkan hasil yang berbeda setiap kali kecuali kita menggunakan seed
Daftar angka acak Python
Mengacak daftar dengan python angka dari daftar yang telah ditentukan. Contoh identik dengan yang sebelumnya
import random nums = [0, 5, 7, 4, 6, 8, 3] random.shuffle(nums) print(nums)hasil
[5, 8, 4, 7, 3, 0, 6]Daftar string acak Python
Cara yang sama dapat diterapkan untuk daftar string. Yang perlu Anda lakukan hanyalah menggunakan metode - acak. acak
import random str = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'] random.shuffle(str) print(str) _hasil
['f', 's', 'c', 'x', 'a', 'l', 'n', 'z', 'e', 'r', 'j', 'v', 'w', 'g', 'm', 'u', 'k', 'd', 'i', 'p', 'h', 'q', 'y', 'b', 't', 'o']Jika Anda ingin mengurutkan daftar yang diacak, Anda memiliki dua opsi
- mengubah daftar
- menyimpan daftar aslinya
Shuffle tersinkronisasi Python dari dua daftar
Terkadang Anda perlu menggunakan benih untuk mendapatkan pesanan khusus atau jika Anda perlu memiliki tingkat pengocokan yang berbeda. Kasus penggunaan yang mungkin adalah dua tumpukan kartu. Anda mungkin perlu mengocok tumpukan dengan cara serupa - ini dimungkinkan dengan Python dengan menggunakan seed
Untuk memverifikasi pengocokan dan seed, Anda harus memiliki dua daftar dan satu seed. Ini adalah contoh dasar yang hanya menunjukkan cara menggunakan seed untuk satu daftar
import random SEED = 'abc' array = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'] random.seed(SEED) random.shuffle(array) print ( array) _hasil dengan biji
['x', 'n', 'y', 'u', 's', 'l', 'i', 'm', 'k', 'c', 'f', 'h', 'r', 'z', 'w', 'b', 'o', 'p', 't', 'e', 'd', 'g', 'v', 'j', 'q', 'a'] _hasil tanpa biji
[9, 15, 19, 16, 8, 17, 10, 1, 14, 4, 18, 13, 0, 5, 12, 3, 7, 11, 6, 2] _0Contoh lain untuk mengocok dua daftar Python yang menjaga urutan
[9, 15, 19, 16, 8, 17, 10, 1, 14, 4, 18, 13, 0, 5, 12, 3, 7, 11, 6, 2] _1Dalam contoh ini Anda dapat menemukan bagaimana kedua daftar tetap tersinkronisasi setelah beberapa operasi pengacakan. Jika Anda ingin mempelajari lebih lanjut tentang benih, Anda dapat memeriksa bagian sumber daya tentang benih
[9, 15, 19, 16, 8, 17, 10, 1, 14, 4, 18, 13, 0, 5, 12, 3, 7, 11, 6, 2] _2daftar daftar acak Python
Kasus penggunaan lain yang sangat menarik adalah ketika Anda memiliki struktur bersarang dengan data serupa. Dalam hal ini Anda cukup mengulangi daftar dan menerapkan fungsi shuffle
Mengacak daftar daftar dengan python dengan loop. Ini akan mengocok tidak hanya level pertama dari elemen daftar tetapi juga yang bersarang. Kode ini hanya berfungsi dengan dua level sublist tetapi pendekatan yang sama dapat diterapkan untuk lebih banyak level
hasil
[9, 15, 19, 16, 8, 17, 10, 1, 14, 4, 18, 13, 0, 5, 12, 3, 7, 11, 6, 2] _4Jika Anda perlu menggunakan cara pengacakan yang serupa untuk daftar bersarang, Anda dapat menggabungkan kode ini dengan seed dari bagian sebelumnya untuk mencapai pengocokan yang tersinkronisasi
Acak daftar "Balik".
Terkadang Anda perlu membalikkan pengocokan. Bergantung pada situasinya, itu mungkin atau Anda mungkin perlu membuat trek pengocokan - menjaga urutan urutan dan kemudian menerapkannya
Di bawah ini ada dua fungsi yang bisa dilakukan
- mengocok dengan menjaga ketertiban
- membalikkan pengocokan keadaan sebelumnya
dan berikut adalah contoh penggunaannya
[9, 15, 19, 16, 8, 17, 10, 1, 14, 4, 18, 13, 0, 5, 12, 3, 7, 11, 6, 2] _6yang hasilnya adalah
BENAR
Dan daftarnya adalah
['f', 'w', 'i', 'y', 'l', 'z', 't', 'v', 'e', 'g', 'x', 'm', '
Apakah ada cara untuk mengocok daftar dengan Python?
Metode Python Random shuffle() . Catatan. Metode ini mengubah daftar asli, tidak mengembalikan daftar baru.Bagaimana cara mengocok dua array dengan Python?
Anda dapat meneruskan kedua larik sebagai sklearn. util. shuffle(arr_1, arr_2) , yang mengocoknya secara konsisten dan kemudian mengembalikan salinan acak dari setiap larik.Bagaimana Anda mengocok array daftar dengan Python?
Menggunakan metode shuffle() dari pustaka Random untuk mengacak array yang diberikan . Di sini kita menggunakan metode acak dari modul acak bawaan untuk mengocok seluruh array sekaligus.Bagaimana Anda mengocok daftar di Python 3?
Python 3 - Metode pengocokan angka() .Keterangan. Metode shuffle() mengacak item daftar di tempatSintaksis. Berikut ini adalah sintaks untuk metode shuffle() − shuffle (lst,[random]).Parameter. lst - Ini bisa berupa daftar atau tupel. .Nilai Pengembalian. Metode ini mengembalikan daftar yang dikocok ulangContoh. .Keluaran