" [: - 2]"是什么意思? in" header_text = f.read(header_text_size)[: - 2] .decode(' utf-16')。encode(' utf-8')"

时间:2015-04-23 23:41:14

标签: java python utf-8 slice

header_text = f.read(header_text_size)[:-2].decode('utf-16').encode('utf-8')

此Python代码中[:-2]的含义是什么?我想把它翻译成Java,我需要知道它的作用。

2 个答案:

答案 0 :(得分:0)

从序列切片,第一个元素(包括)到第二个到最后一个(不包括)。

例如:

x = [0, 1, 2, 3, 4, 5]
y = x[:-2]
print(y)  # [0, 1, 2, 3]

切片始终包含“start”参数,并排除“stop”参数。

此外,切片的负索引始终表示从结尾向后计数。 (-1表示最后一个索引,-2表示倒数第二个,等等。)

More on slice notation

答案 1 :(得分:0)

a_list [: - 2] 会从列表 a_list 中删除最后2个元素。 a_string [: - 2] 从字符串 a_string 中删除最后2个字符(可能是您的情况):

>>> s = 'some string with last chars 012'
>>> s[:-2]
'some string with last chars 0'