python - 如何在python中按顺序附加两个列表?
问题描述
我有一个坐标列表和另一个高度值列表。如何按顺序将高度值附加到坐标列表?
coor = [[[83.75, 18.70], [57.50, 18.70], [57.5, 2.87], [83.75, 4.18]],
[[83.75, 34.54], [110.0, 35.0], [104.86, 19.59], [83.75, 19.59]],
[[104.86, 19.59], [83.75, 19.59], [83.75, 4.18], [100.0, 5.0]],
[[-5.0, 33.0], [18.12, 33.40],[18.12, 16.70],[-2.53, 16.70]],
[[18.12, 16.70],[-2.53, 16.70], [0.0, 0.0],[18.12, 0.90]]]
height = [5,4,5,6,6]
预期结果:
result = [[[83.75, 18.70], [57.50, 18.70], [57.5, 2.87], [83.75, 4.18],5],
[[83.75, 34.54], [110.0, 35.0], [104.86, 19.59], [83.75, 19.59],4],
[[104.86, 19.59], [83.75, 19.59], [83.75, 4.18], [100.0, 5.0],5],
[[-5.0, 33.0], [18.12, 33.40],[18.12, 16.70],[-2.53, 16.70],6],
[[18.12, 16.70],[-2.53, 16.70], [0.0, 0.0],[18.12, 0.90],6]]
解决方案
如果你不介意元组,你可以使用zip
> list(zip(coor, height))
[([[83.75, 18.7], [57.5, 18.7], [57.5, 2.87], [83.75, 4.18]], 5),
([[83.75, 34.54], [110.0, 35.0], [104.86, 19.59], [83.75, 19.59]], 4),
...
如果它必须是一个列表,请zip
在理解中使用。
> [list(pair) for pair in zip(coor, height)]
[[[83.75, 18.7], [57.5, 18.7], [57.5, 2.87], [83.75, 4.18]], 5],
[[[83.75, 34.54], [110.0, 35.0], [104.86, 19.59], [83.75, 19.59]], 4],
...
推荐阅读
- spring - 405 Method is not Allowed 异常:GET调用的“请求方法'T'不支持”和POST的“请求方法'ST'不支持”
- mongodb - 使用 Spring Boot 的 MongoDB 查询结果与预期不符
- javascript - 反应比较或匹配两个日期
- sql - 在 liquibase 上为 H2 数据库创建 SQL 函数
- python - 如何在 Odoo 表单视图中对齐图像?
- php - 使用免费送货和统一费率时如何检查运送到不同的地址?
- python - ModuleNotFoundError NLTK
- solr - 是否有任何原因索引在 SOLR 中可能没有字段值?
- xml - 如何对“段落”条目进行排序
- python - 基于python的Windows服务启动失败-没有返回错误