python - 随机播放两个 python 列表
问题描述
我在想办法打乱两个 python 列表时遇到问题。我有两个不同的列表。
first = [1,2,3]
second = [4,5,6]
我希望我的最终列表是这两个列表的组合,但以特定的方式洗牌。
combined = [1,4,2,5,3,6]
我可以打乱这两个列表并将它们组合起来,但结果将是[2,1,3,6,5,4]
但我想要的是[1,4,2,5,3,6]
.
组合列表应该有第一个列表中的一个项目,然后是第二个列表中的后续项目。
这两个列表甚至可能具有不同的长度。
解决方案
first = [1,2,3]
second = [4,5,6,7]
def shuffle(f, s):
newlist = []
maxlen = len(f) if len(f) > len(s) else len(s)
for i in range(maxlen):
try:
newlist.append(f[i])
except IndexError:
pass
try:
newlist.append(s[i])
except IndexError:
pass
return newlist
print(shuffle(first, second))
推荐阅读
- node.js - 这个车把变量绑定是如何完成的?
- google-cloud-platform - GCP - Terraform - 无法编辑组织策略
- java - 如何使用工厂方法创建抽象测试类的 JUnit
- ios - 快速检查二维数组的有效索引
- sql-server - SSIS 2016如何将UNC路径加上GETDATE()传递给平面文件连接管理器的ConnectionString属性?
- python - 使用 presto 提取嵌套数据
- python - Pytest - 多个测试可以共享相同的请求响应吗?
- amazon-web-services - sam打包和部署不打包参数文件
- javascript - Heroku“错误:找不到模块‘请求’”
- ubuntu - 授权程序失败。(http-01): urn:ietf:params:acme:error:dns :: 找不到有效的 IP 地址