Lors de la génération d'une liste aléatoire, la fonction random.shuffle() est utilisée. Les questions suivantes se posent à propos de l'appel de cette fonction :
Si une liste est explicitement définie, comme li = [], la fonction shuffle peut générer la liste aléatoire. Le résultat :
Mais si list(range(n)) est utilisé comme paramètre de lecture aléatoire, None sera renvoyé comme le montre la figure :
Que se passe-t-il ? Ils appartiennent tous à la catégorie liste
Il est mentionné dans le document que si un
list
对象, 则直接作用鱼list
objet est donnéParce que
random.shuffle()
agira directement surlist
lui-même et ne renverra aucune valeur, donc le résultat de votre première instruction sera None But in random.shuffle(li), vous imprimez la listeli
, qui elle-même a été modifiée. Si tu écris comme çarandom.shuffle()
会直接作用于list
本身,而不会返回任何值,所以你第一个语句的结果会是None.但是在random.shuffle(li)
的时候,你打印的是li
这个列表,它本身就被改变了。如果你这样写那么一样会返回
🎜Ensuite, il retournera toujoursNone
.所以想要得到list(range(20))
被shuffle
操作过后的值,需要先给它一个变量名,在被shuffle
Aucun
Donc, si vous souhaitez obtenir la valeur delist(range(20))
après avoir été utilisé parshuffle
, vous devez d'abord lui donner un nom de variable auquel vous ne pouvez accéder qu'après avoir été utilisé avecshuffle
. 🎜