>> a = range(10)
>> print a[::-1]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
此切片给出了反向列表。它是如何工作的?
答案 0 :(得分:11)
第三个参数是步进修饰符。在这种情况下,您使用的步骤为-1
。
您还可以使用2
步骤打印每个偶数索引。
>>> a = range(10)
>>> a[::2]
[0, 2, 4, 6, 8]
>>> a[::-2]
[9, 7, 5, 3, 1]
答案 1 :(得分:4)
一旦 grok 扩展切片,请务必欣赏不受重视的slice()功能:
>>> for sl in [(1,-1),(0,20,3),(10,),(None,None,-3),(None,None,4)]:
... print range(20)[slice(*sl)]
...
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18]
[0, 3, 6, 9, 12, 15, 18]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[19, 16, 13, 10, 7, 4, 1]
[0, 4, 8, 12, 16]
它对fixed length data格式特别有用。
答案 2 :(得分:2)