Python教程

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列表每隔一个元素取一个值的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!