Python中::(双冒号)的用法

1. “没什么首次没有为第二个,跳了三个”。它得到的切片序列的每一个第三个项目。 扩展片是你想要的。新在Python 2.3 
2. Python的序列切片地址可以写成[开始:结束:一步]和任何启动,停止或结束可以被丢弃。a[::3]是每第三个序列。 
3. seq[::n]是每一个序列n个项的整个序列中。 例如:
>>> range(10)[::2]
[0, 2, 4, 6, 8]
语法是:
seq[start:end:step]
所以,你可以这样做:
>>> range(100)[5:18:2]
[5, 7, 9, 11, 13, 15, 17]

4. 解释s[i:j:k]是,根据该“片第从i到j与第k步”。何时ij缺席,整个序列是和s[::k]意思是“每k个项目”。 示例 首先,让我们来初始化一个列表:
>>> s = range(20)
>>> s
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
让我们从每一个第3项s
>>> s[::3]
[0, 3, 6, 9, 12, 15, 18]
让我们从每一个第3项s[2:]
>>> s[2:]
[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
>>> s[2::3]
[2, 5, 8, 11, 14, 17]
让我们从每一个第3项s[5:12]
>>> s[5:12]
[5, 6, 7, 8, 9, 10, 11]
>>> s[5:12:3]
[5, 8, 11]
让我们从每一个第3项s[:10]
>>> s[:10]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> s[:10:3]
[0, 3, 6, 9]

5. 当在Python切片第三是一步。至于看片扩展为一个很好的概述。 有了这些知识 CodeGo.net,[::3]您还没有指定任何开始或结束指数的切片。既然你已经指定了一步,3,这将需要的每第三个条目something开始优先个索引。例如:
>>> '123123123'[::3]
'111'

6. 第三是优先步。因此,[:: 3]将返回列表/字符串的每个第3位。 

7. 该::分开结束,开始,步长值。


转载自http://codego.net/184893/

Python冒号切片是一种使用切片操作符(::)来截取序列的一部分的方法。在切片操作,可以使用三个参数:开始位置、结束位置和步长。其,开始和结束位置可以省略。步长表示每次截取元素的间隔,默认值为1。下面是关于Python冒号切片的一些要点: 1. 切片操作的基本语法是:[开始:结束:步长]。开始和结束位置都是可选的,如果省略则表示从序列的开头或结尾开始切片。 2. 开始位置表示切片的起始位置,结束位置表示切片的结束位置(不包含该位置的元素),步长表示每次截取元素的间隔。 3. 使用负数作为开始或结束位置可以从序列的末尾开始反向切片。 4. 切片操作返回一个新的序列,包含被截取的元素。 5. 在冒号切片,步长可以是正数或负数。正数表示从左到右取元素,负数表示从右到左取元素。 举例来说,对于给定的张量aa,aa[:, 0::2]表示从每一行选取从第一个元素开始,每隔一个元素取一个,直到最后一个元素。而aa[:, ::-1]表示从每一行按照从右到左的顺序取所有的元素。 总结一下,冒号切片是在Python用来截取序列的一部分的方法,可以通过指定开始位置、结束位置和步长来实现不同的切片操作。在给定的例子,aa[:, 0::2]和aa[:, ::-1]分别表示每行从第一个元素开始,每隔一个元素取一个,以及从每行从右到左取所有的元素。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值