Grammar | Annotation |
---|---|
L[:] | [seq[0], seq[1], …, seq[-1] ] |
L[low:] | [seq[low], seq[low+1], …, seq[-1] ] |
L[:high] | [seq[0], seq[1], …, seq[high-1]] |
L[low:high] | [seq[low], seq[low+1], …, seq[high-1]] |
L[::stride] | [seq[0], seq[stride], …, seq[-1] ] |
L[low::stride] | [seq[low], seq[low+stride], …, seq[-1] ] |
L[:high:stride] | [seq[0], seq[stride], …, seq[high-1]] |
L[low:high:stride] | [seq[low], seq[low+stride], …, seq[high-1]] |
Grammar | Annotation |
---|---|
L[::-stride] | [seq[-1], seq[-1-stride], …, seq[0] ] |
L[high::-stride] | [seq[high], seq[high-stride], …, seq[0] ] |
L[:low:-stride] | [seq[-1], seq[-1-stride], …, seq[low+1]] |
L[high:low:-stride] | [seq[high], seq[high-stride], …, seq[low+1]] |
# coding=utf-8
L = [0, 10, 20, 30, 40, 50]
low, high, stride = 1, 4, 2
# 正序
assert L[:] == [0, 10, 20, 30, 40, 50] # [seq[0], seq[1], ..., seq[-1] ]
assert L[low:] == [10, 20, 30, 40, 50] # [seq[low], seq[low+1], ..., seq[-1] ]
assert L[:high] == [0, 10, 20, 30] # [seq[0], seq[1], ..., seq[high-1]]
assert L[low:high] == [10, 20, 30] # [seq[low], seq[low+1], ..., seq[high-1]]
assert L[::stride] == [0, 20, 40] # [seq[0], seq[stride], ..., seq[-1] ]
assert L[low::stride] == [10, 30, 50] # [seq[low], seq[low+stride], ..., seq[-1] ]
assert L[:high:stride] == [0, 20] # [seq[0], seq[stride], ..., seq[high-1]]
assert L[low:high:stride] == [10, 30] # [seq[low], seq[low+stride], ..., seq[high-1]]
# 逆序
assert L[::-stride] == [50, 30, 10] # [seq[-1], seq[-1-stride], ..., seq[0] ]
assert L[high::-stride] == [40, 20, 0] # [seq[high], seq[high-stride], ..., seq[0] ]
assert L[:low:-stride] == [50, 30] # [seq[-1], seq[-1-stride], ..., seq[low+1]]
assert L[high:low:-stride] == [40, 20] # [seq[high], seq[high-stride], ..., seq[low+1]]