这是什么意思?

| 我正在分析一些Python代码,但我不知道该怎么办
pop = population[:]
手段。是Java中的数组列表还是二维数组?     
已邀请:
        它是切片,其作用取决于
population
的类型。如果“ 1”是列表,则此行将创建列表的浅表副本。对于类型为
tuple
或object4 nothing的对象,它将不执行任何操作(在没有
[:]
的情况下行将执行相同操作),对于(例如)NumPy数组,它将为相同数据创建一个新视图。     
        了解列表切片通常会复制一部分列表,这也可能会有所帮助。例如。
population[2:4]
将返回包含人口[2]和人口[3]的列表(切片为右排除外)。像
population[:]
那样,不包括左索引和右索引,它们分别默认为0和length(人口),从而选择整个列表。因此,这是制作列表副本的常见习语。     
        好吧...这确实取决于上下文。最终,它将“ 8”对象(“ 9”)传递给以下方法之一:“ 10”,“ 11”或“ 12”。 (实际上,如果对象具有
__getslice__
,将使用它代替
__getitem__
,但现在已弃用,不应使用)。 对象可以对切片执行其所需的操作。 在以下情况下:
x = obj[:]
传入切片对象时,将调用
obj.__getitem__
。实际上,这完全等效于:
x = obj[slice(None,None,None)]
(尽管前者可能更有效,因为它不必查找
slice
构造函数-全部用字节码完成)。 对于大多数对象,这是一种创建序列一部分的浅表副本的方法。 下一个:
x[:] = obj
是一种基于ѭ21set设置项目(称为calls11ѭ)的方法。 而且,我认为您可能可以猜出:
del x[:]
致电;-)。 您还可以传递不同的切片:
x[1:4]
构造
slice(1,4,None)
x[::-1]
构造
slice(None,None,-1)
,依此类推。进一步阅读:解释Python的切片符号     
        它是从序列开头到结尾的一个切片,通常会产生浅拷贝。 (不仅如此,但是您不需要关心。)     
        它创建列表的副本,而不仅仅是为现有列表分配新名称。     
        [:] 用于限制器或数组,切片中的切片 例如: [1:5]用于显示1到5(不包括1-4)之间的值 [开始:结束] 基本上用于数组中进行切片,了解括号接受要显示的平均值或键的变量,而\“:\”用于将整个数组限制或切片为数据包。     

要回复问题请先登录注册