1在Python中的意思?
可能重复:
Python切片符号
我试图将一些Python代码移植到C,但我遇到了这一行,我无法弄清楚它的含义:
if message.startswith('<stream:stream'):
message = message[:-1] + ' />'
我明白如果' message
从<stream:stream
开始,那么需要附加一些东西。 然而,我似乎无法弄清楚它应该附加在哪里。 我完全不知道什么:-1
表示。 我做了几次Google搜索,结果没有。
有人会这样解释这是什么吗?
它是列表索引,它返回除最后一个-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]
它被称为切片,它返回message
所有内容,但是是最后一个元素。
理解这个最好的方法是用例子:
In [1]: [1, 2, 3, 4][:-1]
Out[1]: [1, 2, 3]
In [2]: "Hello"[:-1]
Out[2]: "Hell"
你总是可以用任何数字代替-1
:
In [4]: "Hello World"[:2] # Indexes starting from 0
Out[4]: "He"
最后的索引不包括在内。
这就是所谓的slicing
“返回代表由范围(开始,停止,步进)指定的一组索引的切片对象。”
- 从此链接:http://docs.python.org/2/library/functions.html#slice
您会注意到它与范围参数类似,并且:
part会返回整个迭代,因此-1
是除最后一个索引之外的所有内容。
以下是切片的一些基本功能:
>>> s = 'Hello, World'
>>> s[:-1]
'Hello, Worl'
>>> s[:]
'Hello, World'
>>> s[1:]
'ello, World'
>>> s[5]
','
>>>
遵循这些论点:
a[start:stop:step]
要么
a[start:stop, i]
链接地址: http://www.djcxy.com/p/26735.html
上一篇: 1 mean in python?