Python's Random Shuffle: Mengapa Pulangan Tidak Jelas?
Apabila menggunakan fungsi random.shuffle Python, seseorang mungkin bingung melihatnya kembali Tiada. Tingkah laku ini berpunca daripada sifat di tempatnya.
Tidak seperti fungsi yang mengembalikan struktur data yang diubah selepas pengubahsuaian, random.shuffle mengubah terus senarai input. Oleh itu, ia mengembalikan Tiada untuk menunjukkan bahawa tiada nilai eksplisit dikembalikan.
Untuk menggambarkan, pertimbangkan kod berikut:
x = ['foo', 'bar', 'black', 'sheep'] random.shuffle(x) print(x)
Setelah melaksanakan kod ini, senarai x akan dikocok dalam -tempat, tetapi fungsi random.shuffle itu sendiri tidak akan mengembalikan sebarang nilai. Akibatnya, penyata cetakan akan mengeluarkan senarai yang kini dikocok.
Jika anda inginkan senarai baru yang dikocok tanpa mengubah suai yang asal, anda boleh menggunakan kaedah alternatif:
Fahami bahawa walaupun random.sample mempunyai kerumitan O(N), diisih mempunyai kerumitan O(N log N) disebabkan kepada operasi pengisihan yang mendasari.
Dengan memahami gelagat di tempat random.shuffle dan menggunakan kaedah alternatif seperti yang diperlukan, anda boleh mengawal dengan berkesan cara anda mengendalikan operasi shuffle senarai dalam Python.
Atas ialah kandungan terperinci Mengapakah `random.shuffle` Python Mengembalikan `Tiada`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!