import random
a = [1,2,3,4,5,6,7,8,9]
# random.shuffle(a) # this is fine
a = random.shuffle(a) # a is now None
我在我的代码中输入了一个拼写错误,但在这种情况下我想知道为什么变成无。引擎盖下发生了什么?
答案 0 :(得分:5)
random.shuffle
就地工作,它不会返回任何内容(因此默认情况下会返回None
,因为所有Python函数调用都应该返回一些值),因此当你这样做时 - {{1 },a = random.shuffle(a)
变为无。试试 -
a
来自random.shuffle(a)
-
<强>
random.shuffle
强>将序列x随机移动。可选参数random是一个0参数函数,在[0.0,1.0)中返回随机浮点数;默认情况下,这是函数random()。
(强调我的)