对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]
  1. 解释s[i:j:k]是,根据该“片第从i到j与第k步”。何时i和j缺席,整个序列是和s[::k]意思是“每k个项目”。 示例 首先,让我们来初始化一个列表:
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
>>> 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:]:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
>>> 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]
  1. 当在Python切片第三是一步。至于看片扩展为一个很好的概述。 有了这些知识 CodeGo.net,[::3]您还没有指定任何开始或结束指数的切片。既然你已经指定了一步,3,这将需要的每第三个条目something开始优先个索引。例如:
>>> '123123123'[::3]
'111'
  1. 第三是优先步。因此,[:: 3]将返回列表/字符串的每个第3位。

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

猜你喜欢

转载自blog.csdn.net/sinat_38682860/article/details/108620519