我有一个列表包含:
[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]
(切片的微调需要一些时间与反向切片,但它避免创建太多的临时列表)
