python - 并排加入二维列表
问题描述
我正在尝试并排加入两个 2d 列表。但是我遇到了麻烦,这就是我到目前为止所拥有的
def join_map_side(map1, map2):
ans = []
if len(map1) != len(map2):
return None
if len(map1) == len(map2):
for check in range(len(map1)):
if len(map1) == len(map2):
ans = [[].append(x) for x in list(zip(map1,map2))]
return ans
print(join_map_side([[1,2],[5,6]], [[3,4],[7,8]]))
这将返回 [5, 6, 7, 8] 但我希望它返回 [[1,2,3,4],[5,6,7,8]]。谁能帮忙?
解决方案
您可以使用zip
. 为了简单起见,我将省略尺寸检查。
ans = [u + v for u, v in zip(map1, map2)]
这是一个更完整的版本,包含在一个函数中,以防万一您确实需要该大小检查。但是,如果您可以保证输入列表的长度相同,或者您不介意从较长的列表中丢失尾随子列表,我推荐使用更简单的版本。
def join_map_side(map1, map2):
if len(map1) == len(map2):
return [u + v for u, v in zip(map1, map2)]
推荐阅读
- reactjs - React 延迟加载和服务器设置
- cassandra - 在 cassandra 中清除时超时错误
- payment - Braintree 可以接受不同货币的付款吗?
- flutter - 我什么时候应该让应用程序崩溃?
- c - 在 windows 中安装 GTK 错误
- php - 更新表格价格时四舍五入到最接近的 10 倍数
- amazon-web-services - 我的 Docker 容器在 AWS EC2 Ubuntu 实例上运行。当我转到公共 IPv4 DNS 时,我的浏览器显示“拒绝连接”。
- vue.js - 如何声明自定义复数规则 vue-i18n Vue 3?
- c++ - 使用类名作为基于模板类的类成员的参数?
- reactjs - 渲染方法应该是 props 和 state 更新状态时错误的纯函数