【发布时间】:2019-06-27 06:57:01
【问题描述】:
我知道a[:] 和a 在分配给变量时的区别以及切片分配的特殊情况。
假设,
a=[1,2,3,4,5]
以下两种说法有什么区别?
b=a[:]+[6,7,8,9,10] #1
b=a+[6,7,8,9,10] #2
在这两种情况下,a 和 b 在末尾都有相同的值。
我已经参考了以下链接 -
When and why to use [:] in python
Python why would you use [:] over =
他们没有提到他们在表达上的差异。
【问题讨论】:
-
[:]选择列表的所有值,它是 python 列表中的一个切片字符,但是,如果:之后有一个数字,它会从该索引或该索引切片,具体取决于:之前或之后的位置。 -
第一个语句首先创建了
a的(不必要的)副本。第二个没有。