Skip to main content
 首页 » 编程设计

python之按指标反转元素列表

2025年05月04日12exmyth

我有一个列表包含:

[1,2,3,4,0,9,8,7,6] 

我想根据列表中为“0”的指标反转列表中的值。因此,对于“0”之前的元素,我希望它们被反转。 '0' 之后的元素将得到我:

[4,3,2,1,0,6,7,8,9] 

我尝试使用 list[::-1],但如果我根据该指标对其进行调节,它就不起作用了。在此方面将不胜感激。

请您参考如下方法:

只是按照0的位置拆分,然后将两部分反转,重新组装:

lst = [1,2,3,4,0,9,8,7,6] 
zidx = lst.index(0) 
result = lst[zidx-1::-1] + [0] + lst[:zidx:-1] 

结果:

[4, 3, 2, 1, 0, 6, 7, 8, 9] 

(切片的微调需要一些时间与反向切片,但它避免创建太多的临时列表)