Dapatkah Anda mengocok daftar dengan python?

Panggil random.shuffle(list)_ untuk mengacak urutan elemen dalam daftar setelah mengimpor modul acak dengan import random. Ini mengocok daftar di tempat. Jika Anda perlu membuat daftar baru dengan elemen acak dan membiarkan yang asli tidak berubah, gunakan slicing list[:] untuk menyalin daftar dan memanggil fungsi acak pada daftar yang disalin

Bagaimana Cara Mengocok Daftar dengan Python?

Dapatkah Anda mengocok daftar dengan python?

Tonton video ini di YouTube

Masalah. Anda memiliki daftar Python dan ingin menyusun ulang semua elemen secara acak?

Larutan. Tidak masalah, gunakan pustaka random di Python

Dapatkah Anda mengocok daftar dengan python?

Contoh. Berikut beberapa kode untuk menunjukkan cara melakukannya

import random

a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

random.shuffle(a)
print(a)
# [6, 8, 5, 7, 2, 3, 9, 1, 4, 0]

random.shuffle(a)
print(a)
# [8, 4, 9, 2, 6, 3, 5, 7, 0, 1]

random.shuffle(a)
print(a)
# [1, 0, 7, 2, 4, 9, 5, 8, 3, 6]

random.shuffle(a)
print(a)
# [4, 6, 0, 5, 1, 3, 9, 2, 7, 8]

Karena elemen disusun ulang secara acak, hasilnya akan terlihat berbeda saat Anda mengeksekusi cuplikan kode yang sama. Seperti fungsi acak lainnya, perilakunya tidak deterministik. Harap perhatikan juga bahwa daftar itu sendiri diacak—tidak ada daftar baru yang dibuat

Anda dapat mencobanya sendiri di shell Python interaktif berikut

Bagaimana Cara Mengocok dan Mengembalikan Daftar Baru?

Metode random.shuffle(a) default mengubah daftar yang ada a. Ia bekerja di tempat. Jadi, bagaimana jika Anda ingin mengocok daftar asli tetapi mengembalikan daftar baru sambil membiarkan elemen daftar asli tidak berubah?

Tidak masalah—gunakan pemotongan untuk menyalin daftar

import random

a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

b = a[:]
random.shuffle(b)
print(b)
_

Latihan. Coba tebak—apa hasil dari cuplikan kode ini?

Artikel terkait

  • Bagaimana cara menyalin daftar?
  • Mengiris
  • Daftar Python [Panduan Utama]
  • Modul acak menjelaskan
  • Bagaimana Cara Mengocok Dua Array Bersamaan dengan Python?

Kemana Pergi Dari Sini?

Cukup teori. Mari kita berlatih

Pembuat kode dibayar enam digit atau lebih karena mereka dapat memecahkan masalah dengan lebih efektif menggunakan kecerdasan mesin dan otomasi

Untuk menjadi lebih sukses dalam pengkodean, selesaikan lebih banyak masalah nyata untuk orang-orang nyata. Begitulah cara Anda memoles keterampilan yang benar-benar Anda butuhkan dalam latihan. Lagi pula, apa gunanya teori belajar yang tidak dibutuhkan siapa pun?

Anda membangun keterampilan pengkodean bernilai tinggi dengan mengerjakan proyek pengkodean praktis

Apakah Anda ingin berhenti belajar dengan proyek mainan dan fokus pada proyek kode praktis yang memberi Anda uang dan memecahkan masalah nyata bagi orang-orang?

🚀 Jika jawaban Anda adalah YA. , pertimbangkan untuk menjadi pengembang lepas Python. Ini adalah cara terbaik untuk mendekati tugas meningkatkan keterampilan Python Anda—bahkan jika Anda benar-benar pemula

Jika Anda hanya ingin belajar tentang peluang freelancing, jangan ragu untuk menonton webinar gratis saya “Bagaimana Membangun Keterampilan Berpenghasilan Tinggi Anda Python” dan pelajari bagaimana saya mengembangkan bisnis coding saya secara online dan bagaimana Anda juga bisa—dari kenyamanan Anda

Bergabunglah dengan webinar gratis sekarang

Dapatkah Anda mengocok daftar dengan python?

Chris

Saat bekerja sebagai peneliti dalam sistem terdistribusi, Dr. Christian Mayer menemukan cintanya untuk mengajar siswa ilmu komputer

Untuk membantu siswa mencapai tingkat kesuksesan Python yang lebih tinggi, dia mendirikan situs web pendidikan pemrograman Finxter. com. Dia adalah penulis buku pemrograman populer Python One-Liners (NoStarch 2020), rekan penulis seri Coffee Break Python dari buku yang diterbitkan sendiri, penggemar ilmu komputer, pekerja lepas, dan pemilik salah satu dari 10 blog Python terbesar di dunia

Kesukaannya adalah menulis, membaca, dan coding. Tetapi hasrat terbesarnya adalah untuk melayani calon pembuat kode melalui Finxter dan membantu mereka meningkatkan keterampilan mereka. Anda dapat bergabung dengan akademi email gratisnya di sini

Menempatkan daftar dalam urutan acak mungkin tampak seperti tugas yang tidak biasa, tetapi bisa sangat berguna untuk banyak bisnis. Misalnya, Anda mungkin ingin secara acak menetapkan prospek ke tenaga penjualan, menugaskan pekerjaan ke karyawan, atau mengadakan undian untuk pelanggan. Apapun alasannya, Anda bisa menggunakan bahasa pemrograman populer Python untuk mengacak urutan daftar elemen

Jika Anda membuat daftar acak atau nomor acak untuk tujuan sensitif, seperti pengundian hadiah dengan uang yang dipertaruhkan atau tujuan kriptografi, Anda harus memastikan bahwa Anda menggunakan pembuat nomor acak berkualitas tinggi

Acak Daftar dengan Python

Anda dapat menggunakan Python untuk membuat alat pengacak daftar hanya dalam beberapa baris kode. Python gratis untuk penggunaan komersial dan pribadi dan tersedia untuk semua sistem operasi modern, termasuk Microsoft Windows, macOS, Linux dan sistem bergaya Unix lainnya

Python 2 dan Python 3, dua versi bahasa pemrograman yang digunakan secara luas, menyertakan fungsi yang disebut shuffle yang dapat mengacak daftar atau urutan data lainnya. Untuk menggunakan pengacakan, impor paket acak Python dengan menambahkan baris impor acak di dekat bagian atas program Anda

Kemudian, jika Anda memiliki daftar bernama x, Anda dapat memanggil acak. shuffle(x) agar fungsi pengacakan acak menyusun ulang daftar dengan cara acak

Perhatikan bahwa fungsi acak menggantikan daftar yang ada. Jika Anda ingin menyimpan salinan daftar dalam urutan aslinya, buat salinan daftar sebelum mengacaknya. Anda dapat mengimpor paket salin Python dan menggunakan metode salinnya untuk melakukannya. Gunakan y = salin. copy(x) untuk membuat salinan daftar x dan menetapkan variabel y untuk merujuk padanya. Perhatikan bahwa jika Anda menulis y = x, variabel y ditugaskan untuk menunjuk ke daftar yang sama seperti x, dan salinan baru tidak dibuat

Ambil Elemen Acak

Jika Anda hanya ingin mengambil elemen acak dari daftar dengan Python, Anda juga dapat melakukannya dengan paket acak. Impor paket acak dengan menyertakan impor acak di dekat bagian atas kode Anda

Untuk memilih satu elemen, gunakan acak. pilihan(x), di mana x adalah nama daftar Anda. Fungsi mengembalikan elemen tunggal yang dipilih secara acak dari daftar x. Perhatikan bahwa jika Anda memanggil acak. pilihan beberapa kali, Anda mungkin mendapatkan elemen daftar yang sama beberapa kali kecuali Anda menghapusnya dari daftar di antara panggilan

Jika Anda ingin mengambil sekumpulan elemen yang tidak menyertakan elemen yang sama dua kali, gunakan acak. sampel (x, k), di mana x adalah daftar dan k adalah jumlah elemen yang Anda inginkan. Jika suatu daftar menyertakan elemen berulang, mereka mungkin diulangi dalam sampel acak

Risiko Dengan Generator Angka Acak

Tidak semua generator angka acak dibuat sama. Dokumentasi Python memperingatkan bahwa generator angka acak bawaan Python tidak cocok untuk tujuan kriptografi, di mana tingkat minimum keacakan aktual diperlukan untuk membuat generator angka acak untuk mengenkripsi data dengan sedikit risiko dekripsi pihak ketiga. Jika penting bagi bisnis Anda bahwa daftarnya benar-benar acak dan tidak dapat diprediksi, seperti untuk undian, penting untuk menggunakan generator nomor acak yang tepat.

Beberapa subclass dari modul acak Python memberikan peningkatan tingkat keacakan. Pada sistem operasi modern, Anda dapat meminta sistem operasi untuk menyediakan data acak dengan kualitas yang dapat digunakan untuk kriptografi. Melalui Python, Anda dapat mengakses data acak ini menggunakan fungsi os. urandom di modul os, atau Anda bisa memanggil random. SystemRandom untuk menghasilkan generator angka acak yang setara dengan modul acak menggunakan data acak sistem operasi

Untuk menggunakan ini dengan shuffle, ketik r = random. SystemRandom() untuk menghasilkan generator angka acak dan kemudian memanggil r. acak (x) pada daftar Anda x. Fungsi lain, termasuk pilihan dan sampel, juga dapat digunakan dengan generator SystemRandom

Periksa dokumentasi sistem operasi Anda untuk memahami cara kerja generator nomor acaknya dan apakah cocok untuk kebutuhan Anda. Dalam beberapa kasus, Anda mungkin dapat mengonfigurasi sistem operasi untuk menggunakan perangkat keras eksternal untuk menghasilkan nomor acak

Bagaimana Anda mengocok daftar di Python 3?

Keterangan. Metode shuffle() mengacak item daftar di tempat
Sintaksis. 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 ulang
Contoh. .
Keluaran

Bagaimana Anda mengocok dua daftar dengan Python?

Metode. Menggunakan zip() + shuffle() + * operator . Pertama, daftar di-zip bersama-sama menggunakan zip(). Langkah selanjutnya adalah melakukan shuffle menggunakan inbuilt shuffle() dan langkah terakhir adalah meng-unzip daftar untuk memisahkan daftar menggunakan * operator.

Bagaimana Anda bisa mengocok daftar?

Algoritma (Langkah) .
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

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.