总结
正序
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]] |
实验代码
L = [0, 10, 20, 30, 40, 50]
low, high, stride = 1, 4, 2
assert L[:] == [0, 10, 20, 30, 40, 50]
assert L[low:] == [10, 20, 30, 40, 50]
assert L[:high] == [0, 10, 20, 30]
assert L[low:high] == [10, 20, 30]
assert L[::stride] == [0, 20, 40]
assert L[low::stride] == [10, 30, 50]
assert L[:high:stride] == [0, 20]
assert L[low:high:stride] == [10, 30]
assert L[::-stride] == [50, 30, 10]
assert L[high::-stride] == [40, 20, 0]
assert L[:low:-stride] == [50, 30]
assert L[high:low:-stride] == [40, 20]