为什么下面的代码在返回[4, 3, 2]
时会返回一个空列表(因为步长为负):
i = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
#[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
#[-10, -9, -8, -7, -6, -5, -4, -3, -2, -1]
s = i[2:-5:-1]
print(s)
答案 0 :(得分:1)
它开始从" 2"向后退(步骤-1)直到" -5"达到了 - 但达到了元素" -5"在这种情况下需要积极的一步。
例如输出:
i[2::-1]
是:
[2, 1, 0]
答案 1 :(得分:0)
事实证明,当从左到右(使用索引的正面或正面版本)时,需要一个正步长。
从右到左需要一个负步长:
i = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
#[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
#[-10, -9, -8, -7, -6, -5, -4, -3, -2, -1]
# to get 6, 7, 8
print(i[6:9])
print(i[-4:-1:1])
print(i[6:-1:1])
print(i[-4:9:1])
# to get 8, 7, 6
print(i[8:5:-1])
print(i[-2:-5:-1])
print(i[-2:5:-1])
print(i[8:-5:-1])