Bagaimana Anda mencampuradukkan daftar dengan python?

Lotere, undian berhadiah, dan permainan kartu. Apa kesamaan dari ketiga game ini? . Apakah langkah itu? . Dalam berbagai kasus pemrograman, Anda akan diminta untuk mengocok sekumpulan item tertentu

Ada kebutuhan untuk mengocok satu set item yang diberikan. Pada artikel ini, kita akan belajar cara mengocok daftar dengan python. Dan Ya, Anda bisa melakukannya dengan dan tanpa menggunakan perintah shuffle

Apa itu daftar di python?

Daftar di python adalah struktur data yang menyediakan akses berurutan ke kumpulan item. Terlalu banyak jargon teknis?

Daftar tersebut akan menjadi urutan item yang perlu Anda beli dan Anda dapat menggunakan daftar tersebut untuk melihat item apa yang akan dibeli kapan saja. Demikian pula, di python, Anda dapat membuat daftar yang memungkinkan Anda menyimpan banyak item dengan satu nama dan kemudian menggunakan nama itu untuk mengakses semua item

Bagaimana Anda mencampuradukkan daftar dengan python?

Ada dua metode yang dapat digunakan untuk mendeklarasikan daftar dengan python, metode pertama adalah dengan mengapit semua item yang ingin kita masukkan ke dalam daftar di dalam tanda kurung siku [ ]

Metode lainnya adalah menggunakan fungsi list() untuk membuat daftar. Anda bisa meneruskan semua item yang ingin Anda sertakan dalam daftar di dalam fungsi list() dan itu akan mengembalikan daftar dengan semua item

Anda juga dapat membuat daftar kosong yang dapat Anda tambahkan elemennya nanti dalam kode Anda. Untuk melakukannya, Anda dapat menggunakan kurung siku kosong atau fungsi list() tanpa argumen. Lihat kode di bawah ini untuk memahami ini lebih lanjut

#Creating a list using square braces
lis1 = [15,12,48,19,63]
#Creating a list using list function
lis2 = list((24,18,19,47))
#Creating an empty list
emptylis1 = []
emptylis2 = list()

print("List1: ",lis1,"\n","List2: ",lis2,"\n","EmptyLists: ",emptylis1,emptylis2)

 

Keluaran

List1:  [15, 12, 48, 19, 63] 
 List2:  [24, 18, 19, 47]
 EmptyLists:  [] []
_

 

Pelajari lebih lanjut tentang daftar python di sini

Bagaimana cara mengocok daftar dengan Python?

Ada 03 metode untuk mengocok daftar dengan python, Algoritma Fisher-Yates Shuffle, metode pengacakan, dan metode pengambilan sampel. Mari kita bahas semuanya secara rinci

01) Algoritma Fisher-Yates

Algoritma Fisher-Yates menyediakan teknik untuk mengocok item dalam daftar dengan menukar tempat item dengan item lain dari indeks acak dalam daftar. Indeks adalah angka di dalam memori yang dapat digunakan untuk mengakses elemen dalam daftar. Jika kita memiliki daftar,


Lis1 = [25,28,21,20]

maka proses untuk mengakses nomor katakanlah 28 akan menjadi Lis[1], di mana 1 adalah indeks dari 28. Indeks dimulai dari 0 dari item pertama dalam daftar dan berurutan ke item terakhir dalam daftar. Algoritma Fisher-Yates menggunakan indeks untuk mengocok item daftar

Algoritme menelusuri daftar secara terbalik, mulai dari indeks terakhir, dan menggunakan metode dalam python, yang disebut randint(). Metode randint() menghasilkan nilai bilangan bulat acak antara titik awal dan titik berhenti yang kami sediakan

Dalam Algoritma Fisher-Yates, titik awal adalah 0 dan titik akhir adalah panjang daftar dikurangi 1 untuk metode randint(). Algoritma Fisher-Yates menyebabkan indeks asli dari daftar hilang, jadi kita tidak dapat kembali dari mengacak daftar ke daftar asli

Implementasi kode python untuk ini ditunjukkan di bawah ini

import random
lis1 = [15,12,48,19,63]
print("The original list is: ",lis1)
for i in range(len(lis1)-1,0,-1):
	j = random.randint(0,i+1) #selecting a random item's index
	lis1[i],lis1[j] = lis1[j],lis1[i] #swapping the two items
print("The shuffled list is: ",lis1)

 

Keluaran

The original list is:  [15, 12, 48, 19, 63]
The shuffled list is:  [15, 19, 12, 63, 48]

 

02) Metode Acak

Alih-alih menerapkan algoritme dengan mengkodekan algoritme secara manual, Anda juga dapat mengocok daftar dengan python menggunakan pustaka bawaannya. Pustaka adalah kumpulan modul atau fungsi yang telah ditentukan sebelumnya yang dapat Anda panggil dan gunakan secara langsung dalam kode Anda tanpa mengkhawatirkan penerapannya

Untuk mengocok daftar, kita bisa menggunakan pustaka acak dan metode shuffle() yang tersedia di dalamnya. Metode shuffle mengambil daftar yang ingin kita acak sebagai argumen dan kemudian mengocoknya pada tempatnya

Ini berarti bahwa metode pengacakan tidak mengembalikan apa pun tetapi membuat perubahan pada daftar asli itu sendiri. Daftar aslinya hilang ketika kita menggunakan metode shuffle

Kode python untuk metode shuffle diberikan di bawah ini;

import random
lis1 = [15,12,48,19,63]
print("The original list is: ",lis1)
random.shuffle(lis1) #shuffle method
print("The shuffled list is: ",lis1)
_

 

Keluaran

The original list is:  [15, 12, 48, 19, 63]
The shuffled list is:  [19, 48, 12, 63, 15]

 

03) Metode Sampel

Dalam situasi tertentu, kami mungkin perlu menjaga agar daftar asli tetap utuh tanpa mengganggu itemnya. Tapi kita juga perlu mengocok daftar item. Dalam situasi ini, kita dapat menggunakan metode sample() yang tersedia di pustaka acak python

Metode pengambilan sampel tidak mengganggu daftar asli dan mengembalikan daftar acak dari semua item dalam daftar. Dalam metode ini, kami tidak kehilangan daftar asli dan pada saat yang sama juga mendapatkan daftar acak yang kami butuhkan

Implementasi kode untuk ini disediakan di bawah ini

import random
lis1 = [15,12,48,19,63]
print("The original list is: ",lis1)
lis2 = random.sample(lis1,len(lis1))
print("The original list after shuffling: ",lis1)
print("The shuffled list is: ",lis2)
_

 

Keluaran

The original list is:  [15, 12, 48, 19, 63]
The original list after shuffling:  [15, 12, 48, 19, 63]
The shuffled list is:  [48, 63, 12, 15, 19]

 

Takeaway

Daftar di python adalah salah satu struktur data dasar yang ada dan sekarang Anda tahu bagaimana 3 cara berbeda untuk mengocok daftar di python dengan kode. Anda juga dapat mengocok daftar tanpa menggunakan perintah shuffle

Algoritma Fisher-Yates menukar dua item secara acak, metode shuffle() dan metode sample(). Dua metode pertama menyebabkan daftar asli hilang sedangkan metode ketiga mempertahankan urutan asli daftar

Bagaimana Anda mengocok daftar dengan Python?

Anda dapat mengacak daftar di tempat dengan acak. acak() .

Bagaimana Anda mengocok daftar di Python 3?

Python 3 - Metode pengocokan angka() .
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

Apakah ada fungsi shuffle di Python?

shuffle() fungsi dalam Python. Shuffle() adalah metode bawaan dari modul acak . Ini digunakan untuk mengocok urutan (daftar). Mengacak daftar objek berarti mengubah posisi elemen urutan menggunakan Python.