可能重复:
Python切片表示法
我正在尝试将一些Python代码移植到C,但我遇到了这一行,我无法弄清楚它的含义:
if message.startswith('<stream:stream'):
message = message[:-1] + ' />'
Run Code Online (Sandbox Code Playgroud)
我明白,如果' message
从那开始,<stream:stream
那么需要附加一些东西.但是,我似乎无法弄清楚应该追加的位置.我完全不知道是什么:-1
表明.我做了几次谷歌搜索没有结果.
有人会如此善意地解释这是做什么的吗?
eng*_*ree 41
它是列表索引,它返回[:]
除最后一个之外的所有元素-1
.类似的问题在这里
例如,
>>> a = [1,2,3,4,5,6]
>>> a[:-1]
[1, 2, 3, 4, 5]
Run Code Online (Sandbox Code Playgroud)
它的工作原理如下
a[start:end]
>>> a[1:2]
[2]
Run Code Online (Sandbox Code Playgroud)
a[start:]
>>> a[1:]
[2, 3, 4, 5, 6]
Run Code Online (Sandbox Code Playgroud)
a[:end]
你的情况
>>> a = [1,2,3,4,5,6]
>>> a[:-1]
[1, 2, 3, 4, 5]
Run Code Online (Sandbox Code Playgroud)
a[:]
>>> a[:]
[1, 2, 3, 4, 5, 6]
Run Code Online (Sandbox Code Playgroud)
小智 7
这称为切片,它返回message
除最后一个元素之外的所有内容。
理解这一点的最佳方法是举例:
In [1]: [1, 2, 3, 4][:-1]
Out[1]: [1, 2, 3]
In [2]: "Hello"[:-1]
Out[2]: "Hell"
Run Code Online (Sandbox Code Playgroud)
您可以随时替换-1
为任何数字:
In [4]: "Hello World"[:2] # Indexes starting from 0
Out[4]: "He"
Run Code Online (Sandbox Code Playgroud)
不包括最后一个索引。
归档时间: |
|
查看次数: |
75735 次 |
最近记录: |