【发布时间】:2020-05-15 02:25:51
【问题描述】:
我以两种不同的方式编写了一些代码,我认为它们完全一样,但我得到了两个截然不同的答案:
第一种方法完全符合预期:
test_listA = list(range(0, 5))
random.shuffle(test_listA)
print(test_listA)
打印出来了:
[2, 1, 0, 3, 4]
但是当我像这样重新组织它时:
test_listB = random.shuffle(list(range(0, 5)))
print(test_listB)
打印出来:
None
为什么不一样?
【问题讨论】:
-
random.shuffle工作到位。 -
我不明白为什么这会被如此低估。
-
这两个不一样。在第二种情况下,您将函数调用的结果分配给变量,但函数返回
None。通常,函数或方法会发生变异以返回None是惯例(大多数情况下都是如此,但list.pop等一些例外情况除外) -
@CeliusStingher 这个问题被否决了,因为它自 2013 年以来已经有了关于 SO 的答案。
标签: python