python - 有没有办法组合这样的列表?
问题描述
假设 a 和 b 是列表。
a = [[1], [2]]
b = [[5, 6, 7], [3, 4, 5]]
我想得到一个列表
[[1,5,6,7], [2,3,4,5]]
有没有办法有效地做到这一点?列表或 numpy 数组都可以。
解决方案
zip
是你的朋友:
>>> a = [[1], [2]]
>>> b = [[5, 6, 7], [3, 4, 5]]
>>> [x+y for x, y in zip(a, b)]
[[1, 5, 6, 7], [2, 3, 4, 5]]
您也可以使用map
; 该模块为此类用途operator
提供了现成的定义。lambda x,y: x + y
>>> import operator
>>> list(map(operator.add, a, b))
推荐阅读
- reactjs - 带有默认主题的 Material-UI React TypeScript 组件样式错误
- unit-testing - VueJs、Jest、Sinon:如何正确地对嵌套函数进行单元测试?
- google-apps-script - 如何(谷歌脚本)下拉选择后,当公式更改单元格值时触发脚本并过滤掉这些行?
- google-cloud-platform - 与客户分享我的 GCP 发布/订阅主题以发布
- javascript - 使用 Node.js 和 MySQL 连续插入数据库(在已将握手入队后无法将握手入队)
- javascript - 是否可以使用 mvc 在表单中拖放文本框、文本。净 c#?
- keepalived - 用keepalived裂脑
- javascript - ASP.Net MVC 应用程序中的“提供的 HTMLImageElement 处于“损坏”状态”错误
- r - 重新格式化 colMeans 的输出,使其为两列
- php - 在没有 HomeBrew 的情况下为 Mac 安装 PHP 7.3