Python中::(双冒号)的用法
·
1. “没什么首次没有为第二个,跳了三个”。它得到的切片序列的每一个第三个项目。 扩展片是你想要的。新在Python 2.3
2. Python的序列切片地址可以写成[开始:结束:一步]和任何启动,停止或结束可以被丢弃。
3.
4. 解释
5. 当在Python切片第三是一步。至于看片扩展为一个很好的概述。 有了这些知识 CodeGo.net,
6. 第三是优先步。因此,[:: 3]将返回列表/字符串的每个第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步”。何时i
和j
缺席,整个序列是和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/
更多推荐
已为社区贡献2条内容
所有评论(0)