有关在python中重新排列列表的问题

我想要做的是将列表分为两部分,并尽可能地将其切成均匀的大小,然后将这两部分的元素交织在一起,以形成混洗后的列表。例如,有一个列表

my_list = [1,2,3,4,5,6] 

我想将其重新排列为

[1,6]

我想以此方式更改列表。但是我不知道如何将所有元素插入正确的位置。

oneDollarOne 回答:有关在python中重新排列列表的问题

li,res = [1,2,3,4,5,6,7,8],[]
length = len(li)
half = length//2
for i,j in zip(li[:half],li[half:]):
    res.append(i)
    res.append(j)
if length % 2 != 0:
    res.append(li[length - 1])
,
        13
      /    \
    4       4
  /   \
17     11

如果列表中的项目数为奇数,您没有指定期望的内容,因此我假设您想将剩余的项目追加到最终列表的末尾。

,

这是一个简单的例子:

from math import ceil
my_list = [1,6]

result = sum([my_list[i::ceil(len(my_list)/2)] for i in range(ceil(len(my_list)/2))],[])

# [1,6]

my_list = [1,7]

result = sum([my_list[i::ceil(len(my_list)/2)] for i in range(ceil(len(my_list)/2))],4]
本文链接:https://www.f2er.com/3153020.html

大家都在问