gpt4 book ai didi

python - 我们如何在 Python 中随机播放列表的元素?

转载 作者:太空狗 更新时间:2023-10-30 02:32:08 24 4
gpt4 key购买 nike

我想在不导入任何模块的情况下打乱列表的元素。洗牌的类型是浅滩洗牌。这是您要将列表的元素数量一分为二,然后将它们交织在一起的地方。

如果有奇数个元素,那么后半部分应该包含额外的元素。

例如:

list = [1,2,3,4,5,6,7]

那么最终的列表应该是这样的

[1,4,2,5,3,6,7]

最佳答案

只是为了好玩,一个递归的解决方案:

def interleave(lst1, lst2):
if not lst1:
return lst2
elif not lst2:
return lst1
return lst1[0:1] + interleave(lst2, lst1[1:])

在Python 2.x中使用如下(在Python 3.x中,使用//代替/):

lst = [1,2,3,4,5,6,7]
interleave(lst[:len(lst)/2], lst[len(lst)/2:])
=> [1, 4, 2, 5, 3, 6, 7]

以上内容适用于任何长度的列表,无论长度是偶数还是奇数都没有关系。

关于python - 我们如何在 Python 中随机播放列表的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19898138/

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