Possible Duplicate:
Python 切片表示法

我正在尝试将一些 Python 代码移植到 C,但我遇到了这一行,但我不明白它的含义:

if message.startswith('<stream:stream'):
    message = message[:-1] + ' />'

我明白如果’message以。。开始<stream:stream那么需要附加一些东西。:-1表示。

有人会好心解释一下这是做什么的吗?

答案

它是列表索引,它返回所有元素[:]除了最后一个-1这里

例如,

>>> a = [1,2,3,4,5,6]
>>> a[:-1]
[1, 2, 3, 4, 5]

它的工作原理是这样的

a[start:end]

>>> a[1:2]
[2]

a[start:]

>>> a[1:]
[2, 3, 4, 5, 6]

a[:end]
你的情况

>>> a = [1,2,3,4,5,6]
>>> a[:-1]
[1, 2, 3, 4, 5]

a[:]

>>> a[:]
[1, 2, 3, 4, 5, 6]

来自: stackoverflow.com