Apabila menjana senarai rawak, fungsi random.shuffle() digunakan Soalan berikut timbul tentang panggilan fungsi ini:
Jika senarai ditakrifkan secara eksplisit, seperti li = [], fungsi shuffle boleh menjana yang diingini. Hasilnya;
Tetapi jika senarai(julat(n)) digunakan sebagai parameter shuffle, Tiada akan dikembalikan Seperti yang ditunjukkan dalam rajah:
Apa yang berlaku? Mereka semua tergolong dalam kategori senarai
Adalah disebut dalam dokumen bahawa jika
diberikanlist
对象, 则直接作用鱼list
objekOleh kerana
random.shuffle()
akan bertindak secara langsung padalist
itu sendiri dan tidak akan mengembalikan sebarang nilai, jadi hasil pernyataan pertama anda adalah Tiada Tetapi dalam random.shuffle(li), anda mencetak senaraili
, yang dengan sendirinya telah diubah. Jika anda menulis beginirandom.shuffle()
会直接作用于list
本身,而不会返回任何值,所以你第一个语句的结果会是None.但是在random.shuffle(li)
的时候,你打印的是li
这个列表,它本身就被改变了。如果你这样写那么一样会返回
🎜Kemudian ia masih akan mengembalikanNone
.所以想要得到list(range(20))
被shuffle
操作过后的值,需要先给它一个变量名,在被shuffle
list(20)
selepas dikendalikan olehshuffle
. , anda perlu memberikannya dahulu Nama pembolehubah yang anda boleh akses hanya selepasshuffle
dikendalikan. 🎜