You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何按对应位置合并两个列表得到指定结构的I7列表

问题原因

Python列表的+运算符仅执行一级元素的首尾拼接,会将两个列表的所有一级元素按顺序直接放入新列表,不会按索引对应合并子列表。此外Velprof_list的每个元素都是包裹了目标数值的单元素列表,直接拼接会将整个子列表作为元素加入,不符合追加单个数值的需求。

正确实现代码

使用zip()配对两个列表的同位置元素,通过列表推导式逐行拼接即可得到目标结果:

Velprof_list=[[1.12852034], [0.59581739], [1.69459738], [0.64335001]]
I6=[[(0.5, -0.5), (1.0, 0.0)],
 [(0.5, -0.5), (0.0, -1.0)],
 [(1.5, -0.5), (0.0, -1.0)],
 [(0.5, -1.5), (1.0, 0.0)]]

I7 = [i6_row + [vel_row[0]] for i6_row, vel_row in zip(I6, Velprof_list)]
print(I7)

代码说明

  • zip(I6, Velprof_list)会按索引顺序依次返回两个列表同位置的元素对,不会打乱原有顺序
  • 每次取出Velprof_list对应子列表的第一个元素(即需要追加的浮点数),和I6对应行的子列表拼接,组成I7的子列表
  • 该写法会生成全新的列表,不会修改原始的I6和Velprof_list数据
运行输出

执行代码后得到的结果和预期完全一致:

[[(0.5, -0.5), (1.0, 0.0), 1.12852034],
 [(0.5, -0.5), (0.0, -1.0), 0.59581739],
 [(1.5, -0.5), (0.0, -1.0), 1.69459738],
 [(0.5, -1.5), (1.0, 0.0), 0.64335001]]

内容的提问来源于stack exchange,提问作者Wiz123

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 06:06:55