Problème Python 3.5 random.shuffle
世界只因有你
世界只因有你 2017-05-18 10:48:52
0
2
1258

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

世界只因有你
世界只因有你

répondre à tous(2)
黄舟
>>> help(random.shuffle)
Help on method shuffle in module random:

shuffle(x, random=None) method of random.Random instance
    Shuffle list x in place, and return None.

    Optional argument random is a 0-argument function returning a
    random float in [0.0, 1.0); if it is the default None, the
    standard random.random will be used.

Il est mentionné dans le document que si un list对象, 则直接作用鱼list objet est donné

>>> a = list(range(20))
>>> a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
>>> random.shuffle(a)

>>> a  # a的值已改变
[1, 6, 3, 15, 0, 5, 19, 10, 7, 18, 4, 2, 12, 14, 8, 16, 9, 11, 13, 17]
>>>
Peter_Zhu

Parce que random.shuffle() agira directement sur list 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 liste li, qui elle-même a été modifiée. Si tu écris comme ça random.shuffle()会直接作用于list本身,而不会返回任何值,所以你第一个语句的结果会是None.但是在random.shuffle(li)的时候,你打印的是li这个列表,它本身就被改变了。如果你这样写

li = random.shuffle(li)

那么一样会返回None.所以想要得到list(range(20))shuffle操作过后的值,需要先给它一个变量名,在被shuffle

li = random.shuffle(li)🎜
🎜Ensuite, il retournera toujours Aucun Donc, si vous souhaitez obtenir la valeur de list(range(20)) après avoir été utilisé par shuffle, vous devez d'abord lui donner un nom de variable auquel vous ne pouvez accéder qu'après avoir été utilisé avec shuffle. 🎜
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal