python - 有人能解释一下python索引语法中的第三个表达式代表什么吗?

标签 python

Possible Duplicate:
Good Primer for Python Slice Notation

我昨晚第一次遇到它是为了反转字符串 "Hello"[::-1]我不知道它实际上是如何工作的。

"Hello"[::-1] # returns "olleH"
[1,2,3,4,5][::-1] # returns [5,4,3,2,1]
"Hello"[1:5:1] # returns "ello"
"Hello"[1:5:2] # returns "el"

我对“python 索引中的第三个表达式”的搜索结果为空。这个表达式是什么以及它是如何工作的。显然::-1 反转了列表,但我无法弄清楚其他正值代表什么。

最佳答案

实际上第三个可选参数称为stepstride。 它的默认值为1

>>> 'hello'[::] # here the value of stride is 1, means take a step of one between two indexes
'hello'   

>>> 'hello'[::2] #take a step of 2 so starting from h -->l --> o 
'hlo'

>>> 'abcdef'[::-1] #negative step actually means 'abcdef'[-1:-len('abcdef')-1:-1]
'fedcba'

关于python - 有人能解释一下python索引语法中的第三个表达式代表什么吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10638719/

相关文章:

python - 从文件中提取数据和信号

python - 使用 Python 3.5.1 在 OS X El Capitan 上安装 OpenCV 3.1

Python, Matplotlib, 散点图, 改变点击点的颜色

python - 使用 Pandas 对数据进行非规范化

python - 如何使用 python/PIL 将图像存储到 redis

python - 如何更改现有轴的 matplotlib 子图投影?

php - 如何让 PHP 停止自动截断输出

python - 我如何让我的 IOS 应用程序与我的 python 脚本通信

python - 如何获取我在 python 中使用的计算机的私有(private) IP 地址?

python - 从另一个数组更新 numpy 二维数组索引