我想迭代并枚举列表的最后几项:
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]