[:-1]在python中的含义是什么?

Mat*_*tt. 28 python

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

在SO和Google上搜索过但无济于事.会喜欢解释!

Mar*_*ers 40

它会对字符串进行切片以省略最后一个字符,在本例中为换行符:

>>> 'test\n'[:-1]
'test'
Run Code Online (Sandbox Code Playgroud)

因为这甚至可以在空字符串上工作,所以如果存在的话,这是一种非常安全的删除最后一个字符的方法:

>>> ''[:-1]
''
Run Code Online (Sandbox Code Playgroud)

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


Pav*_*sov 13

它意味着"序列的所有元素,但最后一个".在f.readline()[:-1]它的上下文中意味着"我很确定该行以换行结束,我想剥离它".


Fre*_*ihl 12

它选择除序列的最后一个元素之外的所有元素.

以下示例使用列表:

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]
Run Code Online (Sandbox Code Playgroud)