gpt4 book ai didi

Python 对排序列表重新排序,使最高值位于中间

转载 作者:太空狗 更新时间:2023-10-30 00:41:35 25 4
gpt4 key购买 nike

我需要重新排序一个排序列表,以便“中间”元素是最大的数字。中间的数字递增,中间的数字递减。

我有以下可行的解决方案,但我觉得它可以做得更简单:

foo = range(7)
bar = [n for i, n in enumerate(foo) if n % 2 == len(foo) % 2]
bar += [n for n in reversed(foo) if n not in bar]
bar
[1, 3, 5, 6, 4, 2, 0]

最佳答案

怎么样:

foo[len(foo)%2::2] + foo[::-2]

In [1]: foo = range(7)
In [2]: foo[len(foo)%2::2] + foo[::-2]
Out[2]: [1, 3, 5, 6, 4, 2, 0]
In [3]: foo = range(8)
In [4]: foo[len(foo)%2::2] + foo[::-2]
Out[4]: [0, 2, 4, 6, 7, 5, 3, 1]

关于Python 对排序列表重新排序,使最高值位于中间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10482684/

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