处理python作业,并对以下代码的上下文中[:-1]的含义感到好奇:instructions = f.readline()[:-1]
在这里搜索了S.O.并在谷歌但无济于事。会喜欢解释!
答案 0 :(得分:35)
将字符串切片以省略最后一个字符,在本例中为换行符:
>>> 'test\n'[:-1]
'test'
因为这甚至对空字符串起作用,所以如果存在的话,删除最后一个字符是一种非常安全的方法:
>>> ''[:-1]
''
这适用于任何序列,而不仅仅是字符串。
答案 1 :(得分:13)
它意味着“序列的所有元素,但最后”。在f.readline()[:-1]
的上下文中,它意味着“我非常确定该行以换行符结束,我想将其删除”。
答案 2 :(得分:11)
它选择除序列的最后一个元素之外的所有元素。
以下示例使用列表:
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]
答案 3 :(得分:2)
它获取列表中的所有元素(或字符串中的字符),但是最后一个元素。
:
表示通过列表
-1
表示列表的最后一个元素