python - 如何按数组分组到python中的新数组
问题描述
我有一些这样的数组:
a1 = [1,2,3,4]
a2 = [6,7,8,9]
a3 = [2,4,6,8]
a4 = ['Mon','Tues']
我想将它们分组为
result = [
[[1,6,2,'Mon'],[2,7,4,'Mon']],
[[3,8,6,'Tues'],[4,9,8,'Tues']]
]
这意味着如果我打印第 0 行,它将输出:
[[1,6,2,'Mon'],[2,7,4,'Mon']]
解决方案
您a4
的长度不同,但除此之外,zip
是适当的功能:
>>> a1 = [1,2,3,4]
>>> a2 = [6,7,8,9]
>>> a3 = [2,4,6,8]
>>> a4 = ['Mon','Tues']
>>> a4_long = [item for item in a4 for i in range(len(a1)//len(a4))]
>>>
>>> list(list(l) for l in zip(a1,a2,a3,a4_long))
[
[1, 6, 2, 'Mon'],
[2, 7, 4, 'Mon'],
[3, 8, 6, 'Tues'],
[4, 9, 8, 'Tues']
]
推荐阅读
- django - Django 中的壁球迁移
- java - @PostAuthorize 失败时返回 404 而不是 403
- javascript - 反应如何忽略子元素的onClick
- visual-studio - Visual Studio Code 中的高亮问题
- java - 如何修复 Cloud vision API 请求失败错误?
- node.js - Azure 函数路由参数读取:context.bindingData.paramName vs context.req.params.paramName
- c# - 在 wcf 服务中发送 devExpress 会话作为参数
- javascript - Typescript 不使用 JS 函数(Typeof)
- azure - Azure:编排文件传输 - 哪些 Azure 组件最适合?
- java - 使用 Streams java 8 列出