通过函数列表创建新列表

2024-05-18 12:04:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我定义了一个名为CalcspeedAngle的函数

def CalcspeedAngle(k):
    xpos = [1,2,3,4,5,6,7,8,9]
    ypos = [10,11,12,13,14,15,16,17,18]
    turnrates = [entry/3.099 for entry in xpos][::k]   
    vts = [entry/3.099 for entry in ypos][::k]
    return(turnrates,vts)

然后我写

turnrates, vts = CalcspeedAngle(k)

我的问题是:如何创建两个新列表(m1list和m2list),其中包含k=1,2,3,4,5,6,7,8,9,10,15,20的平均值和vts?换句话说,我如何创建:

m1list = [mean(flattened(turnrates(k=1))), mean(flattened(turnrates(k=2))), ...]
m2list = [mean(flattened(vts(k=1))), mean(vts(turnrates(k=2))), ...]

任何帮助都将不胜感激。你知道吗


Tags: 函数infor定义defmeanentryvts
1条回答
网友
1楼 · 发布于 2024-05-18 12:04:11

简化代码的一种方法是对range(10)执行一次迭代,解压两个列表,计算每个列表的平均值,并将它们附加到结果列表中:

def lists_of_means():
    m1list = []
    m2list = []

    for i in range(10):
        turnrates, vts = CalcspeedAngle(i)
        m1list.append(np.mean(turnrates))
        m2list.append(np.mean(vts))

    return m1list, m2list

相关问题 更多 >