gpt4 book ai didi

python - 更改列表中数字的顺序而不创建新数字

转载 作者:太空宇宙 更新时间:2023-11-03 17:09:45 25 4
gpt4 key购买 nike

我有一个包含数字序列的列表,例如 [1,2,3,4,5,6,7,8,9,10]
我必须以某种方式交换它,所以列表将像这样重新打包:
[1,10,2,9,3,8,4,7,5,6]
因此,最后一个在第一个之后,倒数第二个在第二个之后,依此类推。我喜欢创建一个新列表:

seq = [1,2,3,4,5,6,7,8]
def repack(seq):
new_seq = []
while len(seq):
new_seq.append(seq.pop(0))
new_seq.append(seq.pop())
return new_seq

但我的问题是如何在不创建新列表的情况下完成此任务?也许用列表切片做一些事情..提前致谢。

最佳答案

结果来自:

[1,10,2,9,3,8,4,7,5,6]

1, 2, 3, 4, 5
10, 9, 8, 7, 6

可以看到前五项是[1,2,3,4,5],然后我们在[1,3,5,7]位置插入[10,9,8,7,6], 9]。

您可以尝试以下方法:

>>> for i in range(5):
item = a.pop()
a.insert(i*2 + 1, item)
>>> a
[1,10,2,9,3,8,4,7,5,6]

关于python - 更改列表中数字的顺序而不创建新数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34214566/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com