Rumah >pembangunan bahagian belakang >Tutorial Python >Mengapakah `random.shuffle` Python Mengembalikan `Tiada` Apabila Mengocok Objek?

Mengapakah `random.shuffle` Python Mengembalikan `Tiada` Apabila Mengocok Objek?

Susan Sarandon
Susan Sarandonasal
2024-12-14 14:36:20610semak imbas

Why Does Python's `random.shuffle` Return `None` When Shuffling Objects?

Mengocok Senarai Objek

Apabila cuba mengocok senarai objek menggunakan fungsi random.shuffle dalam Python, anda mungkin menghadapi isu menerima output Tiada. Tidak seperti senarai integer, mengocok objek memerlukan sedikit pertimbangan.

Memahami random.shuffle

random.shuffle beroperasi pada objek boleh ubah di tempatnya, bermakna ia secara langsung mengubah suai senarai asal. Fungsi ini tidak mengembalikan senarai yang dikocok sebaliknya mengubah suai senarai input. Akibatnya, ia mengembalikan Tiada untuk menunjukkan bahawa tiada nilai sebenar dikembalikan.

Penyelesaian

Untuk menyelesaikan isu, pastikan senarai input mengandungi objek boleh ubah, seperti senarai. Berikut ialah contoh:

from random import shuffle

# Create a list of lists as objects
x = [[i] for i in range(10)]

# Shuffle the list of objects in place
shuffle(x)

# Print the shuffled list
print(x)

Output:

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

Dengan menggunakan senarai sebagai objek, random.shuffle boleh mengubah suai senarai asal dengan berkesan dan memberikan output kocok yang diingini. Ingat bahawa apabila berurusan dengan objek boleh ubah, adalah perkara biasa untuk fungsi mengembalikan Tiada selepas mengubah suai objek di tempatnya.

Atas ialah kandungan terperinci Mengapakah `random.shuffle` Python Mengembalikan `Tiada` Apabila Mengocok Objek?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn