在python中[:-1]是什么意思?

What does [:-1] mean/do in python?

本问题已经有最佳答案,请猛点这里访问。

正在处理一个python赋值,并对[:-1]在以下代码上下文中的含义感到好奇:instructions = f.readline()[:-1]

在S.O.和Google上搜索过,但没有任何结果。希望得到解释!


它分割字符串以省略最后一个字符,在本例中是换行符:

1
2
3
>>> 'test
'
[:-1]
'test'

因为这甚至适用于空字符串,所以删除最后一个字符(如果存在)是非常安全的方法:

1
2
>>> ''[:-1]
''

这适用于任何序列,而不仅仅是字符串。


它的意思是"序列中除最后一个以外的所有元素"。在f.readline()[:-1]的上下文中,它的意思是"我很确定行以新行结尾,我想去掉它"。


它只选择序列的最后一个元素。

下面使用列表的示例:

1
2
3
4
5
6
7
In [15]: a=range(10)

In [16]: a
Out[16]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

In [17]: a[:-1]
Out[17]: [0, 1, 2, 3, 4, 5, 6, 7, 8]


它从列表中获取除最后一个元素之外的所有元素(或字符串中的字符)。

:表示正在浏览列表-1表示列表的最后一个元素