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/

展开阅读全文

没有更多推荐了,返回首页