我知道我可以使用字符串[3:4]之类的东西在Python中获取子字符串,但3在某些序列[::3]中是什么意思?
当前回答
它的意思是“第一个参数什么都没有,第二个参数什么都没有,然后跳转到3”。它对序列中的每三项进行切片。 加长的切片就是你想要的。Python 2.3新增功能
其他回答
在Python中进行切片时,第三个参数是step。正如其他人提到的,请参阅扩展切片以获得更好的概述。
有了这些知识,[::3]仅仅意味着您没有为您的片指定任何开始或结束索引。因为你已经指定了步骤3,这将从第一个索引开始每第三个元素。例如:
>>> '123123123'[::3]
'111'
Python序列片地址可以写成[start:end:step], start、stop或end中的任何一个都可以省略。A[::3]是序列的每三个元素。
它的意思是“第一个参数什么都没有,第二个参数什么都没有,然后跳转到3”。它对序列中的每三项进行切片。 加长的切片就是你想要的。Python 2.3新增功能
Seq [::n]是整个序列中第n个元素的序列。
例子:
>>> range(10)[::2]
[0, 2, 4, 6, 8]
语法为:
seq[start:end:step]
所以你可以这样做(在Python 2中):
>>> range(100)[5:18:2]
[5, 7, 9, 11, 13, 15, 17]
第三个参数是步骤。因此[::3]将返回列表/字符串的每3个元素。
推荐文章
- 如何更新SQLAlchemy行条目?
- name 'reduce'在Python中没有定义
- 如何计算一个NumPy bool数组中的真实元素的数量
- 在python中,在函数结束(例如检查失败)之前退出函数(没有返回值)的最佳方法是什么?
- 在Python中检查一个单词是否在字符串中
- Python glob多个文件类型
- 如何可靠地打开与当前运行脚本在同一目录下的文件
- Python csv字符串到数组
- 如何在Python中进行热编码?
- 如何嵌入HTML到IPython输出?
- 在Python生成器上使用“send”函数的目的是什么?
- 是否可以将已编译的.pyc文件反编译为.py文件?
- Django模型表单对象的自动创建日期
- 在Python中包装长行
- 如何计算两个时间串之间的时间间隔