def square_please(some_list):
some_list[:] = [x**2 for x in some_list]
你好,为什么我们需要在我们的代码中使用[:]来让它用它的平方值替换列表中的每一个项目?我不明白为什么我们需要分片。
我认为,因为我们要给some_list分配一个新的列表,所以它会覆盖之前的列表,类似于我们有以下代码。
list1 = [3,4,5]
list1 = [6,7,8]
如果你 勿 使用 [:]
它将创建一个全新的列表并将其分配给 some_list
以及以前提到的任何 some_list
将不会被修改。在某些情况下,这不是一个问题。如果你返回 some_list
它将返回一个新的列表,而且平方和不平方的都可以使用,但其他时候你想在原地改变数值,这就是你要做的。 请看 这个 疑问。