如何使第三行与第二行相同?
list = [1,2,3,4,5,6,7,8,9,10]
print(list[::-1])
print(list[-1:0:-1])
这是我得到的结果:
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
[10, 9, 8, 7, 6, 5, 4, 3, 2]
您应该在这里省略0:
print(list[-1:0:-1])
并写为
print(list[-1::-1])
或地点None
:
print(list[-1:None:-1])
原因是:当在“ 3个冒号分隔符”中省略stop值(或替换为None
)时,将发生this:
如果省略i或j或
None
,它们将成为“结束”值(该结束取决于k的符号)。
此处j
对应于终止值(i
是起始值,即[i:j:k]
)
使用None
:
>>> list[-1:None:-1]
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
或
>>> list[None:None:-1]
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
您可以使用-len(list)-1
,但是None
更简单,不需要任何计算。
BTW list
是不好的变量名,因为它隐藏了内置list
。
您可以使用以下列表切片方法来获得所需的结果。
list