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