Python: 枚举具有负索引的切片

Python: enumerate a slice with negative indices

我想遍历并枚举列表的最后几项:

a = [1,2,3,4,5]

[c for c, i in enumerate(a[-3:], -3)] 给出: [-3, -2, -1]

[c for c, i in enumerate(list(a[-3:]))] 给出: [0, 1, 2]

[c for c, i in islice(enumerate(a), -5)] 提高:

ValueError: Indices for islice() must be None or an integer: 0 <= x <= sys.maxsize.

那么我如何被枚举: [3, 4, 5] 使用负索引 ?

示例:

for i, j in enumerate(...): print(i,j) 其中 ... 包含一个只有负索引的切片表达式应该给出:

0 3
1 4
2 5
a = [1,2,3,4,5]

print ([c for c in a[-3:]])

输出:

[3,4,5]

枚举:

print ([(i, j)[1] for i, j in enumerate(a[-3:])])

[c for c, i in enumerate(a[-3:], -3)] 给出:[-3, -2, -1]

你应该得到 i 而不是 c

[i for c, i in enumerate(a[-3:], -3)] 这会给你 [3, 4, 5]