【发布时间】:2015-04-23 23:41:14
【问题描述】:
header_text = f.read(header_text_size)[:-2].decode('utf-16').encode('utf-8')
在这段 Python 代码中[:-2] 的含义是什么?我想把它翻译成 Java,我需要知道它的作用。
【问题讨论】:
header_text = f.read(header_text_size)[:-2].decode('utf-16').encode('utf-8')
在这段 Python 代码中[:-2] 的含义是什么?我想把它翻译成 Java,我需要知道它的作用。
【问题讨论】:
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'
【讨论】:
从序列中切片,第一个元素(包括)到第二个到最后一个(不包括)。
例如:
x = [0, 1, 2, 3, 4, 5]
y = x[:-2]
print(y) # [0, 1, 2, 3]
切片始终包含“start”参数,不包括“stop”参数。
此外,切片的负索引始终表示从末尾向后计数。 (-1 表示最后一个索引,-2 表示倒数第二个等)。
【讨论】: