这种情况下,如果我想反向选择一个python列表来执行n,如下所示:
n = 3
l = [1,2,3,4,5,6]
s = l[5:n:-1] # s is [6, 5]好吧,它可以工作,但是我如何设置n的值来选择整个列表呢?让我们看看这个例子,我希望第一行是[5, 4, 3, 2, 1]
[40]: for i in range(-1, 5):
...: print(l[4:i:-1])
...:
[]
[5, 4, 3, 2]
[5, 4, 3]
[5, 4]
[5]
[]如果上限n设置为0,则结果将丢失0。但如果n为-1,则结果为空,因为-1的意思是“最后一个”。
我唯一能做的就是:
if n < 0:
s = l[5::-1]
else:
s = l[5:n:-1]有点令人困惑。
发布于 2021-03-18 11:21:40
要通过切片完全反转列表:
l = [1,2,3,4,5,6]
print(l[::-1])
#[6, 5, 4, 3, 2, 1]如果您希望能够根据n的值部分或完全反转列表,您可以这样做:
l = [1,2,3,4,5,6]
def custom_reverse(l,n):
return [l[i] for i in range(len(l)-1,n,-1)]
print(custom_reverse(l,3)) #[6, 5]
print(custom_reverse(l,-1)) #[6, 5, 4, 3, 2, 1]发布于 2021-03-18 12:11:06
希望这就是你的意思。
print(l[n+1::-1])https://stackoverflow.com/questions/66684265
复制相似问题