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/

    原文作者:2k-Gamer
    原文地址: https://blog.csdn.net/Evan123mg/article/details/49232089
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞