Cara mengocok daftar dengan python tanpa menggunakan acak

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

import random

def shuffle_list(my_list):
    random.shuffle(my_list)
    return my_list

print(shuffle_list(['John', 'Mark', 'Carl', 'Henry']))
print(shuffle_list([1, 2, 3, 4, 5, 6, 7, 8]))
['Carl', 'Mark', 'John', 'Henry']
[4, 2, 1, 6, 5, 8, 3, 7]

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)
_0

Keluaran

import random

my_list = list(range(0, 10))
print("Original list is: ", my_list)

random.shuffle(my_list)
print("Shuffled list is: ", my_list)
_1

Contoh 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

Apakah ada cara untuk mengocok daftar dengan Python?

Metode Python Random shuffle() . Catatan. Metode ini mengubah daftar asli, tidak mengembalikan daftar baru.

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 tuple. .
Nilai Pengembalian. Metode ini mengembalikan daftar yang dikocok ulang
Contoh. .
Keluaran

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.