python-3.x - Python 3.8:合并 2 个复合列表
问题描述
我有 2 个列表:
l1 = [[1.56, 2.04],[0.69, 6.34],[1.14, 7.59],[1.35, 3.01],[0.92, 8.33]]
l2 = [[3.45, -11.53],[3.20, -11.60],[3.33, -11.56],[3.39, -11.55],[3.26, -11.5]]
我想合并这两个,这样输出是:
[[1.56,2.04,3.45,-11.53],[1.14,7.59,3.20,-11.60],[1.14, 7.59,3.33, -11.56],[1.35, 3.01,3.39, -11.55],[0.92, 8.33,3.26, -11.5]]
第二个列表的第一个元素必须与第一个列表的第一个元素合并,依此类推。
我努力了:
l1 = [[1.56, 2.04],[0.69, 6.34],[1.14, 7.59],[1.35, 3.01],[0.92, 8.33]]
l2 = [[3.45, -11.53],[3.20, -11.60],[3.33, -11.56],[3.39, -11.55],[3.26, -11.5]]
l3=[]
for i in l1:
for j in l2:
r = i+j
l3.append(r)
display(l3)
但是输出真的很奇怪:
[[1.56, 2.04, 3.45, -11.53],
[1.56, 2.04, 3.2, -11.6],
[1.56, 2.04, 3.33, -11.56],
[1.56, 2.04, 3.39, -11.55],
[1.56, 2.04, 3.26, -11.5],
[0.69, 6.34, 3.45, -11.53],
[0.69, 6.34, 3.2, -11.6],
[0.69, 6.34, 3.33, -11.56],
[0.69, 6.34, 3.39, -11.55],
[0.69, 6.34, 3.26, -11.5],
[1.14, 7.59, 3.45, -11.53],
[1.14, 7.59, 3.2, -11.6],
[1.14, 7.59, 3.33, -11.56],
[1.14, 7.59, 3.39, -11.55],
[1.14, 7.59, 3.26, -11.5],
[1.35, 3.01, 3.45, -11.53],
[1.35, 3.01, 3.2, -11.6],
[1.35, 3.01, 3.33, -11.56],
[1.35, 3.01, 3.39, -11.55],
[1.35, 3.01, 3.26, -11.5],
[0.92, 8.33, 3.45, -11.53],
[0.92, 8.33, 3.2, -11.6],
[0.92, 8.33, 3.33, -11.56],
[0.92, 8.33, 3.39, -11.55],
[0.92, 8.33, 3.26, -11.5]]
怎样才能达到预期的输出?请帮忙。
解决方案
使用邮编:
l3 = list()
for one, two in zip(l1, l2):
l3.append(one + two)
或者使用列表理解的简洁版本:
l3 = [one + two for one, two in zip(l1, l2)]
推荐阅读
- java - 将 EAR 应用程序从 AppEngine 迁移到 Google Cloud SDK
- ios - 为什么在导入 p12 文件时出现错误?
- ravendb - 如何在 RavenDB 客户端 api 中使用子集合属性进行搜索
- mysql - MySQL丢失了root密码
- vba - 是否可以通过 OUTLOOK 触发器/事件识别共享邮箱收到了新电子邮件?
- azure - 无法更新 Azure AD 应用程序清单文件中的 identifierUris
- html - 为什么缩放变化时具有相同高度的元素“看起来”不同?
- python - Python 脚本也不在 PythonAnywhere 中运行
- android - Kotlin 多平台移动 - 无法运行 iOS 项目 - 缺少此目标所需的一个或多个架构
- recaptcha - 如何检测验证码农场并阻止验证码机器人