这是什么意思?

2020/12/07 09:12 · python ·  · 0评论

我正在分析一些Python代码,但我不知道

pop = population[:]

手段。是Java中的数组列表还是二维数组?

这是切片符号的示例,其作用取决于的类型population如果population是列表,则此行将创建列表浅表副本对于类型为tuple的对象str,它将不执行任何操作(如果不使用,该行将执行相同操作[:]),对于(例如)NumPy数组,它将为相同的数据创建一个新视图。

了解列表切片通常会复制一部分列表,这也可能会有所帮助。例如,population[2:4]将返回包含人口[2]和人口[3]的列表(切片为右排他性)。保留左和右索引,因为population[:]它们分别默认为0和length(人口),从而选择了整个列表。因此,这是制作列表副本的常见习语。

好吧...这确实取决于上下文。最终,它通过一个slice对象(slice(None,None,None))为以下方法之一: __getitem____setitem____delitem__(实际上,如果该对象具有__getslice__,将代替__getitem__,但现在已弃用,不应使用)。

对象可以对切片执行其所需的操作。

在以下情况下:

x = obj[:]

这将obj.__getitem__使用传入的slice对象进行调用。实际上,这完全等效于:

x = obj[slice(None,None,None)]

(尽管前者可能更有效,因为它不必查找slice构造函数-全部用字节码完成)。

对于大多数对象,这是一种创建序列一部分的浅表副本的方法。

下一个:

x[:] = obj

是一种__setitem__基于设置项目(调用)的方法obj

而且,我认为您可能会猜出:

del x[:]

致电;-)。

您还可以传递不同的切片:

x[1:4]

结构体 slice(1,4,None)

x[::-1]

构造slice(None,None,-1)等等。进一步阅读: 解释Python的切片符号

它是从序列开头到结尾的一个切片,通常会产生浅拷贝。

不仅如此,但您不需要关心。)

它创建列表的副本,而不仅仅是为现有列表分配新名称。

[:]

用于限制器或数组中的切片,哈希,


例如:


[1:5]用于显示1到5之间的值,即1-4


[start:end]


主要用于数组中的切片,理解方括号接受表示要显示的值或键,“:”用于将整个数组限制或分割为数据包。

本文地址:http://python.askforanswer.com/zheshishenmeyisi.html
文章标签: ,   ,   ,  
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!