我知道我可以使用字符串[3:4]之类的东西在Python中获取子字符串,但3在某些序列[::3]中是什么意思?


当前回答

第三个参数是步骤。因此[::3]将返回列表/字符串的每3个元素。

其他回答

记住基础就是[开始:结束:步骤]的意思。从这里你可以得到一个[1::2]得到每个奇数索引,一个[::2]得到每个偶数索引,一个[2::2]得到每个偶数索引,一个[2:4:2]得到每个偶数索引,从2开始,以4结束。灵感来自https://stackoverflow.com/a/3453102/1601580

在Python中进行切片时,第三个参数是step。正如其他人提到的,请参阅扩展切片以获得更好的概述。

有了这些知识,[::3]仅仅意味着您没有为您的片指定任何开始或结束索引。因为你已经指定了步骤3,这将从第一个索引开始每第三个元素。例如:

>>> '123123123'[::3]
'111'

第三个参数是步骤。因此[::3]将返回列表/字符串的每3个元素。

Python使用::分隔结束、开始和步骤值。

Python序列片地址可以写成[start:end:step], start、stop或end中的任何一个都可以省略。A[::3]是序列的每三个元素。