Sve*_*ach 105
这是一个切片,它的作用取决于它的类型population.如果population是列表,则此行将创建列表的副本.对于类型tuple或a 的对象str,它将不执行任何操作(行将执行相同的操作[:]),对于(例如)NumPy数组,它将为相同的数据创建新视图.
Tho*_*asH 27
知道列表切片通常会复制列表的一部分也可能有所帮助.例如,population[2:4]将返回包含人口[2]和人口[3]的列表(切片是右对的).离开左右索引,population[:]分别默认为0和长度(人口),从而选择整个列表.因此,这是制作列表副本的常用习惯用法.
mgi*_*son 14
嗯...这真的取决于背景.最终,它将sliceobject(slice(None,None,None))传递给以下方法之一: __getitem__,__setitem__或__delitem__.(实际上,如果对象有一个__getslice__,将用于代替__getitem__,但现在已弃用,不应使用).
对象可以使用切片执行他们想要的操作.
在以下情况下:
x = obj[:]
Run Code Online (Sandbox Code Playgroud)
这将调用obj.__getitem__传入的切片对象.实际上,这完全等同于:
x = obj[slice(None,None,None)]
Run Code Online (Sandbox Code Playgroud)
(虽然前者可能更有效,因为它不需要查找slice构造函数 - 它都是在字节码中完成的).
对于大多数对象,这是一种创建序列的一部分的浅拷贝的方法.
下一个:
x[:] = obj
Run Code Online (Sandbox Code Playgroud)
是一种基于的方式设置项目(它调用__setitem__)obj.
而且,我想你可能会猜到:
del x[:]
Run Code Online (Sandbox Code Playgroud)
电话;-).
您还可以传递不同的切片:
x[1:4]
Run Code Online (Sandbox Code Playgroud)
结构体 slice(1,4,None)
x[::-1]
Run Code Online (Sandbox Code Playgroud)
构造slice(None,None,-1)等等.进一步阅读: 解释Python的切片表示法
小智 5
[:]
用于数组中的限制器或切片,
例如:
[1:5]用于显示介于1和5之间的值,即1-4
[start:end]
基本上用于数组切片,理解括号接受变量意味着要显示的值或键,":"用于将整个数组限制或切片为数据包.
| 归档时间: |
|
| 查看次数: |
58481 次 |
| 最近记录: |