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

如何将x、y1=sin(x)、y2=sin(x)*2.7^(-x)拼接为目标二维数组

首先确认你代码开头已经导入了math模块,否则运行时会报错,导入语句如下:

import math

方法1:基础循环实现(易理解)

三个列表长度完全一致,直接按索引遍历取值,拼接成子列表后存入新的二维数组即可,代码如下:

# 初始化空二维数组
result = []
for i in range(len(x)):
    # 每个子列表对应同一个索引下的x、y1、y2取值
    row = [x[i], y1[i], y2[i]]
    result.append(row)

得到的result就是你需要的二维数组,每一行的结构为[x值, 对应的y1值, 对应的y2值]。

方法2:用内置zip函数实现(更简洁)

Python内置的zip函数可以直接按位置配对多个列表的元素,一行代码就能完成转换:

# 如果需要子元素为元组类型,直接用下方代码
result = list(zip(x, y1, y2))

# 如果需要子元素为列表类型,加一层列表推导式转换即可
result = [list(item) for item in zip(x, y1, y2)]

如果后续需要做数值计算,也可以用numpy库直接生成结构化数组:

import numpy as np
result = np.column_stack((x, y1, y2))

小优化提示

你当前的x列表是手动输入的,也可以用列表推导式自动生成,避免写错数值:

x = [1.0 + i*0.5 for i in range(19)]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 01:06:05