将列表和字符串切成负零

时间:2011-04-01 23:26:47

标签: python

我已经阅读了切片上的Python informal tutorial,除了一个边缘情况外,这对我来说都是有意义的。好像是

'help'[:-0]

应评估为'help',但它的评估结果为''。考虑负面索引切片的好方法是什么,以便这个特殊的边缘情况有意义?

4 个答案:

答案 0 :(得分:7)

'help'[:-0]实际上等于'help'[:0],在这种情况下,它的评估结果为''。事实上,正如您从交互式python解释器中看到的那样,-00相同:

>>> -0
0

答案 1 :(得分:3)

-0 == 0,因此'help'[:-0]相当于'help'[0:0],我认为您同意应该''

以下问题对切片有一些很好的一般信息以及如何考虑它们:Explain Python's slice notation

答案 2 :(得分:1)

正如其他人所说,-0 == 0,在这种情况下,''结果是正确的。我想你正在寻找:

'help'[:]

切片时,如果省略开始它从0开始,如果省略结束,它会前进到收集结束(在你的情况下是一个字符串)。因此,[:]表示“开始结束”

答案 3 :(得分:1)

正如其他人所说,''输出完全有意义。

无论如何,如果在使用否定指标时希望保持一致的行为,可以采用以下解决方法:

>>> a = 'help'
>>> a[:len(a)-0]
'help'