Python menyediakan sejumlah cara untuk mengocok daftar secara acak. Yang paling umum adalah menggunakan metode shuffle() dari modul acak. Metode ini mengambil daftar dan mengocoknya di tempatnya, mengembalikan Tidak Ada
Solusi 1. Menggunakan acak. shuffle() fungsi modul acak
Untuk mengocok daftar dengan python, Anda dapat menggunakan random. acak() fungsi. Fungsi ini hanya mengocok daftar bersarang terdalam yang ada dalam daftar yang diberikan. Itu tidak mengembalikan nilai apa pun
Kita perlu mengimpor modul random Python untuk menggunakan random. acak() fungsi. Untuk memahaminya dengan lebih baik, periksa contoh kode Python di bawah ini
Sintaksis
random.shuffle(myList)Contoh kode 1. Buat daftar n angka dan kocok
import random my_list = list(range(0, 10)) print("Original list is: ", my_list) random.shuffle(my_list) print("Shuffled list is: ", my_list)_Keluaran
Original list is: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] Shuffled list is: [9, 6, 5, 0, 8, 2, 3, 4, 7, 1]Dalam contoh kode di atas, kami telah membuat daftar n angka menggunakan fungsi range() dan kemudian mengocoknya
Contoh kode 2
import random numbers = [10, 20, 30, 40, 50, 60] print('Original List: ', numbers) random.shuffle(numbers) print('Shuffled list: ', numbers)Keluaran
Original List: [10, 20, 30, 40, 50, 60] Shuffled list: [40, 30, 60, 50, 20, 10]_Contoh kode di atas mengimpor modul acak dan kemudian membuat daftar angka. Itu mengocok daftar angka menggunakan metode acak dari modul acak dan kemudian mencetak daftar yang diacak
Ini adalah contoh kode Python tentang cara mengocok daftar. Fungsi shuffle_list() mengambil daftar sebagai argumen dan mengocoknya menggunakan modul acak. Kemudian ia mengembalikan daftar yang diacak
Solusi 2. Menggunakan acak. contoh() fungsi
Jika Anda perlu mengocok daftar dengan python, Anda dapat menggunakan acak. contoh() fungsi. Fungsi ini akan mengambil daftar sebagai input dan mengocoknya secara acak. Anda juga dapat menentukan jumlah item yang ingin Anda acak
Sintaksis
random.sample(myList, len(myList))Contoh kode
import random numbers = [1, 2, 3, 4, 5, 6, 7, 8] result = random.sample(numbers, len(numbers)) print('Original list is: ', numbers) print('Shuffled list is: ', result)_Keluaran
Original list is: [1, 2, 3, 4, 5, 6, 7, 8] Shuffled list is: [7, 2, 1, 6, 8, 4, 5, 3]_Kode ini adalah contoh cara mengocok daftar dengan Python. Hasilnya adalah daftar baru dengan elemen yang sama dengan daftar asli, tetapi dalam urutan acak
Solusi 3. Menggunakan numpy acak. acak() fungsi
Jika Anda memiliki daftar item dengan Python, Anda dapat menggunakan NumPy random. shuffle() berfungsi untuk mengocok item secara acak
Fungsi shuffle() mengambil daftar sebagai parameter dan mengocok item dalam daftar di tempatnya. Ini berarti daftar asli diubah dan daftar yang diacak dikembalikan
import random my_list = list(range(0, 10)) print("Original list is: ", my_list) random.shuffle(my_list) print("Shuffled list is: ", my_list)_0Keluaran
import random my_list = list(range(0, 10)) print("Original list is: ", my_list) random.shuffle(my_list) print("Shuffled list is: ", my_list)_1Contoh di atas mengimpor paket NumPy dan membuat daftar angka dari 0 hingga 9. Itu kemudian mengocok daftar menggunakan acak. acak() fungsi
random.shuffle() mengacak daftar di tempat, dan random.sample() mengembalikan daftar acak baru. random.sample() juga dapat digunakan untuk string dan tuple
- random.shuffle()_ mengocok daftar di tempat
- random.sample() mengembalikan daftar acak baru
- Cara mengocok string dan tuple
- Inisialisasi generator angka acak dengan l = list(range(5)) print(l) # [0, 1, 2, 3, 4] lr = random.sample(l, len(l)) print(lr) # [0, 3, 1, 4, 2] print(l) # [0, 1, 2, 3, 4] 3
Jika Anda ingin mengurutkan dalam urutan menaik atau menurun atau mundur alih-alih mengacak, lihat artikel berikut
- Urutkan daftar, string, tuple dengan Python (sort, sortir)
- Balikkan daftar, string, tupel dengan Python (terbalik, terbalik)
Tautan Bersponsor
random.shuffle()_ mengocok daftar di tempat
Anda dapat mengocok daftar di tempat dengan random.shuffle()
import random l = list(range(5)) print(l) # [0, 1, 2, 3, 4] random.shuffle(l) print(l) # [1, 0, 4, 3, 2]
sumber.
random.sample() mengembalikan daftar acak baru
random.sample() mengembalikan daftar acak baru. Daftar asli tetap tidak berubah
random.sample() mengembalikan elemen acak dari daftar. Berikan daftar ke argumen pertama dan jumlah elemen untuk kembali ke argumen kedua. Lihat artikel berikut untuk detailnya
- Pengambilan sampel acak dari daftar dengan Python (random. pilihan, sampel, pilihan)
Dengan menyetel jumlah total elemen dalam daftar ke argumen kedua, random.sample() mengembalikan daftar baru dengan semua elemen diacak secara acak. Anda bisa mendapatkan jumlah total elemen dalam daftar dengan s = 'abcde' # random.shuffle(s) # TypeError: 'str' object does not support item assignment t = tuple(range(5)) print(t) # (0, 1, 2, 3, 4) # random.shuffle(t) # TypeError: 'tuple' object does not support item assignment 0
l = list(range(5)) print(l) # [0, 1, 2, 3, 4] lr = random.sample(l, len(l)) print(lr) # [0, 3, 1, 4, 2] print(l) # [0, 1, 2, 3, 4]
sumber.
Tautan Bersponsor
Cara mengocok string dan tuple
String dan tupel tidak dapat diubah, jadi random.shuffle() yang mengubah objek asli menimbulkan kesalahan s = 'abcde' # random.shuffle(s) # TypeError: 'str' object does not support item assignment t = tuple(range(5)) print(t) # (0, 1, 2, 3, 4) # random.shuffle(t) # TypeError: 'tuple' object does not support item assignment 2
s = 'abcde' # random.shuffle(s) # TypeError: 'str' object does not support item assignment t = tuple(range(5)) print(t) # (0, 1, 2, 3, 4) # random.shuffle(t) # TypeError: 'tuple' object does not support item assignment
sumber.
Untuk mengocok string atau tupel, gunakan random.sample(), yang membuat objek baru
random.sample() mengembalikan daftar bahkan ketika string atau tuple ditentukan ke argumen pertama, jadi perlu mengubahnya menjadi string atau tupel
Untuk string, daftar karakter dikembalikan. Gunakan metode s = 'abcde' # random.shuffle(s) # TypeError: 'str' object does not support item assignment t = tuple(range(5)) print(t) # (0, 1, 2, 3, 4) # random.shuffle(t) # TypeError: 'tuple' object does not support item assignment _5 untuk menggabungkan ke satu string lagi