编程语言
首页 > 编程语言> > python列表每隔一个元素取一个值

python列表每隔一个元素取一个值

作者:互联网

取一个List的部分元素是非常常见的操作,Python提供了切片(Slice)操作符

L[0:3]表示,从索引0开始取值,直到索引3为止,单不包括索引3。即索引0, 1, 2, 正好是3个元素。

如果第一个索引是0, 还可以省略:

也可以从索引1开始,取出2个元素。如L[1:3],则取的是索引为1,2这个两个位置的值。

只用一个:,表示从头到尾,因此,L[:]实际上复制出了一个新list。

切片操作还可以制定第三个参数:L[::2]

第三个操作表示每N个元素取一个,上面的L[::2]表示每2个元素取一个值,也就是隔一个取一个。

x0 = x[:, 0::2, 0::2, :] 表示在维度1和维度2,从索引0开始,每隔一个元素取一个。
x1 = x[:, 1::2, 1::2, :] 表示在维度1和维度2,从索引1开始,每隔一个元素取一个。
x2 = x[:, 0::2, 1::2, :] 表示在维度1从索引0开始,每隔一个元素取一个;维度2从索引1开始,每隔一个元素取一个。
x3 = x[:, 1::2, 1::2, :] 表示在维度1和维度2从索引1开始,每隔一个元素取一个。
swin Transformer的pathc merging便是这种操作。

标签:表示,python,元素,列表,索引,一个,维度,每隔
来源: https://www.cnblogs.com/elitphil/p/16485107.html