python中的索引列表,用于一系列值

据我所知,使用-1进行索引将为您提供列表中的最后一项,例如

list = 'ABCDEFG'
list[-1] 
'G'

但是当你要求列表中的序列时,-1给出列表中的倒数第二个项,

list[3:-1] 
'DEF'

为什么?我原以为,并想得到DEFG

最佳答案 这是因为切片表示法的stop(second)参数是独占的,不包括在内.所以,[3:-1]告诉Python从索引3到索引-1,但不包括索引-1.

要得到你想要的,请使用[3:]:

>>> list = 'ABCDEFG'
>>> list[3:]
'DEFG'
>>>
>>> list[3:len(list)]  # This is equivalent to doing:  list[3:]
'DEFG'
>>>

此外,只是一个未来的注释:将列表用作变量名称被认为是一种不好的做法.这样做掩盖了built-in.

点赞