我以前从来没有遇到过这个问题,但是当我尝试洗牌时,我得到一个'无'的回报
import random
c=[1,4,67,3]
c=random.shuffle(c)
print c
print语句返回'None'并且我不知道为什么,我已经四处寻找这个问题的答案,但似乎没有任何东西。我希望我没有犯明显的错误。
答案 0 :(得分:10)
random.shuffle
函数就地对列表进行排序,为避免在该点上造成混淆,它不会返回混洗列表。试试吧:
random.shuffle(c)
print(c)
这是一个很好的API设计,我认为 - 这意味着如果你误解了random.shuffle
正在做什么,那么你会立即得到一个明显的问题,而不是一个难以跟踪的更微妙的错误后来...... ...
答案 1 :(得分:3)
请记住,random.shuffle()
就地进行了随机播放。所以它更新了名为“c”的对象。但是你用None
重新绑定“c”,函数的输出,列表就丢失了。
答案 2 :(得分:1)
答案 3 :(得分:0)
试试这个
随机导入 C = [1,4,67,3] random.shuffle(c)中 打印c