arrays - 如何将两个数组组合成一个具有内部列表的列表?
问题描述
我有两个清单:
a=[0,0,0,1,1,1,1,2,2]
b=[2,5,12,2,3,8,9,4,6]
我想得到:
c=[[0,2,5,12],[1,2,3,8,9],[2,4,6]]
A 和 b 相互关联,a[i]
与 相关b[i]
,当值a
变化0
为时1
,12
在 的第一个内部列表中结束c
。
我用 if else 语句尝试过,但失败了
如何在python中获取c?
解决方案
此代码c
以足够好的方式生成(提供a
并b
始终以与示例中相同的方式进行调整):
a=[0,0,0,1,1,1,1,2,2]
b=[2,5,12,2,3,8,9,4,6]
c = []
i = 0
while i < len(a):
d = a.count(a[i])
c.append([a[i]] + b[i:i + d])
i += d
print(c) # ==> [[0, 2, 5, 12], [1, 2, 3, 8, 9], [2, 4, 6]]
推荐阅读
- sql - MS Access SQL Server ODBC连接255个字符限制?
- actions-on-google - 谷歌操作上的帐户链接
- c# - 初始化使用后清空信号量属性的正确方法
- docker - 使用 Quarkus & SmallRye 时更改 kafka 主机和端口
- docker - 如何访问作为 docker 容器运行的节点 api
- python - 从 Python 调用 sql 存储过程 - 错误:('42000','将数据类型 varchar 转换为 int 时出错。(8114)(SQLExecDirectW)')
- sql - 如何从 AVG 中选择 MAX?
- ffmpeg - 使用 FFMPEG 将 webm 音频文件转换为 mp4 失败
- podio - 获取 Podio 项目订阅者
- javascript - Angular ngAfterViewInit() 找不到 DOM 元素