Cara mengacak huruf dengan python

Dalam tutorial ini, kita akan melihat cara mengacak string dalam daftar Python yang diberikan. Kami akan melihat implementasi sederhana dari tugas ini dengan Python. Kita akan menggunakan fungsi built-in sample() yang ditemukan di modul acak

Perebutan String dalam daftar

Pada bagian ini, kami mencoba memahami masalahnya. Jika ada yang membutuhkannya, berikut adalah penyegaran cepat pada daftar dengan Python

Saya yakin kita dapat memahami masalahnya dengan lebih baik dengan bantuan sebuah contoh. Jadi mari kita pertimbangkan daftar 'l' yang didefinisikan di bawah ini

l = ['cat', 'dog', 'Monkey', 'POTATO', 'guiTAr']

Perhatian kami adalah untuk 'mengacak string dalam daftar'. Kami TIDAK ingin mengacak urutan string. Artinya, kami TIDAK ingin hasilnya berbentuk

Monkey
guiTAr
dog
cat
POTATO
_

Kami ingin hasilnya berbentuk

tac
ogd
nMekyo
OTTOAP
TgAriu

Memahami fungsi sample()

Fungsi sample() hadir dalam modul acak. Anda dapat membaca dokumentasi lengkapnya

  1. sample(population, k) mengambil 2 argumen dan menampilkan daftar. 'populasi' mengacu pada urutan atau kumpulan populasi. Untuk masalah kita, ini mengacu pada sebuah string. 'k' adalah panjang daftar yang dikembalikan dan tidak boleh lebih besar dari panjang string
  2. Daftar yang dikembalikan oleh sample() dihasilkan dengan mengambil elemen string tanpa penggantian

Misalkan, string kita, 's', diberikan sebagai berikut. Kami membuat dan mencetak daftar 4 elemen sebagai berikut

s = 'ballOOns'
print(sample(s, 4))

Output kami akan mirip dengan

['n', 'l', 'O', 'l']
_

atau

['b', 's', 'a', 'l']

Perhatikan bahwa jika ada beberapa kemunculan elemen dalam string, daftar tersebut mungkin memiliki elemen yang berulang. Namun, mereka tidak akan muncul lebih dari berapa kali mereka hadir dalam string. Untuk contoh di atas, kami TIDAK akan mendapatkan output berikut

['O', 'a', 'O', 'O']
_

dan

['b', 'b', 'O', 'l']

Setelah memahami konsep-konsep ini, kami bertanya pada diri sendiri pertanyaan berikut

'Apa yang terjadi jika 'k' diberi panjang string?'

Kami melihat bahwa daftar yang dikembalikan harus memiliki elemen 'k' dari string tanpa penggantian. Artinya, kami mendapatkan daftar yang berisi semua karakter string (secara acak)

print(sample(s, len(s)))
_

Memberikan output yang mirip dengan

['a', 'n', 'O, 's, 'b, 'l', 'O', 'l']
_

Setelah kita memiliki daftarnya, kita dapat mengonversinya menjadi string menggunakan salah satu metode yang diberikan di sini

Implementasi dengan Python. Perebutan String dalam Daftar tertentu

Kode berikut berfungsi di Google Colab. Perubahan yang sesuai dapat dilakukan sesuai dengan platform tempat program dijalankan

Monkey
guiTAr
dog
cat
POTATO
_0

Keluaran

Monkey
guiTAr
dog
cat
POTATO
_1

Harap dicatat bahwa keluaran berubah setiap kali karena acak

Kesimpulan

Dalam tutorial ini, kita melihat cara mengacak string dalam Python tertentu. Kami secara khusus menangani penggunaan fungsi sample() yang ada di modul acak

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

Bagaimana Anda mengacak huruf dalam string dengan Python?

Dalam hal ini, kita perlu memecah string ke dalam daftar karakter, berebut menggunakan sample(), menggabungkannya kembali menggunakan join() dan kemudian membuat ulang daftar menggunakan pemahaman daftar.

Bagaimana Anda mengacak karakter dalam string dengan Python?

Cara Membuat String Acak dengan Python .
Impor string dan modul acak. .
Gunakan konstanta string ascii_lowercase. .
Tentukan panjang string. .
Gunakan fungsi for loop dan random choice() untuk memilih karakter dari sumber. .
Hasilkan Kata Sandi acak

Apakah ada cara untuk mengacak string dengan Python?

Untuk menghasilkan string acak dengan Python, kami menggunakan string dan modul acak . Modul string berisi konstanta string Ascii dalam berbagai kasus teks, angka, dll. Modul acak di sisi lain digunakan untuk menghasilkan nilai pseudo-random.

Bagaimana Anda mencampur string dengan Python?

Gunakan operator + .