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
它将返回一个新列表,并且可以使用平方列表和非平方列表,但有时您想要就地更改值,这就是您要执行的操作。请参阅this问题。
关于python - 以下代码需要切片来替换列表中的所有项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61905559/