例如 iftableState
是一个元组,我们声明一个变量:
x = tableState[1][:]
这[:]
意味着什么?
它采用元组的副本,而不是对元组本身的引用。
语法是一个具有默认开始和结束值(0 和列表长度)的[:]
切片,返回一个带有这些索引的新元组,因此实际上是内容的精确副本。
对于元组,这没有多大意义,因为元组是不可变的。您可以安全地传递对元组的引用,而无需更改其索引所指的内容。
不过,它对列表的工作方式相同。您经常需要创建列表的副本才能修改内容,并且使用默认的“所有元素”切片是一种不错、简洁且快速的方法。
[:]
它类似于[0:]
从 0 索引到末尾的拆分。它返回一个新的 List 。
通常,您正在提取元组的副本。请记住,尽管元组是不可变的,因此获取元组的副本并没有什么好处——它对列表更有用。