繁体   English   中英

交换和反转python列表中的元素

[英]Swap and reverse elements in a python list

我有一个包含以下元素的列表:

L =[1, 2, 3, 4, 5]

我想镜像和重新排序如下:

L =[1,5,2,4,3]

列表中元素的数量和大小可能会发生变化!

有一些其他的例子,

K=[1, 2, 3]

输出可能如下:

K=[1, 3, 2]

D=[1,2,3,4]

最终结果:

D = [1,4,2,3]

我试过用切片来做,它对我不起作用。

您可以通过将列表与其反向合并来做到这一点:

lst = [1,2,3,4,5]

b = [c for a,b in zip(lst,reversed(lst)) for c in (a,b)][:len(lst)]

print(b) # [1, 5, 2, 4, 3]

这是你要找的吗?

from random import shuffle

my_list = [1,2,3,4,5]
print (my_list)
shuffle (my_list)
print (my_list)

以下代码为您提供了预期的输出。

l = [1,2,3,4,5]

r = []
for i in range(len(l)):
    if i % 2 == 0:
        r.append(l[i // 2])
    else:
        r.append(l[-1 - i // 2])

print(r)  # prints [1, 5, 2, 4, 3]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM