提问人:Junk Mail 提问时间:8/16/2023 最后编辑:Junk Mail 更新时间:8/17/2023 访问量:60
当人们说“random.shufle shuffles the sequence 'in place'”时,“in place”的简单含义是什么?
what does 'in place' exactly mean in simple terms when people say "random.shufle shuffles the sequence 'in place' "?
问:
我很难理解人们在提到为什么直接打印出 random.shuffle 返回值“None”而不仅仅是随机列表本身时说“random.shufle shuffles the sequence in-place'” 是什么意思。
具体参考这个问题的答案。
这里的“就地”到底是什么意思?如果可能的话,请用新手术语解释,初学者在这里。谢谢。
谈论这段代码
import random
b = [object(), object()]
print(random.shuffle(b))
打印出来:None
这里存在另一个这样的问题,但它没有解释简单/初学者术语,更复杂的术语。
答:
3赞
CtrlZ
8/16/2023
#1
您正在将列表传递给 shuffle 函数。列表将被随机排列(伪随机重新排列)。该函数不返回任何内容(隐式 None 除外)。因此,您的列表将被修改。
这可以证明如下:
from random import shuffle
my_list = [1, 2, 3, 4, 5]
shuffle(my_list)
print(my_list)
输出可以是:
[1, 5, 3, 4, 2]
因此,您可以看到列表本身已被修改 - 即“就地”
评论