两个列表的列表理解

问题描述 投票:0回答:2

我有一个创建新数组的函数,其中每个项目都是函数列表中函数f(x)的结果。例如,x = [1,2,3]交互函数= [f1,f2,f3]我希望结果是y = [f1(x [0]),f2(x [1]),f3(x [2])]第一个功能运行良好,但是我想使用list comprehension进行此过程,因此我的代码不会太慢。用我的基本技能,我尝试使用第二个函数,该函数仅返回一项,并且我无法理解列表理解如何作用于多个列表,有人可以向我解释吗?第一个功能

def makeNewYaxisLstofArrays(newXaxisListofArray,lstInterFuncs):        
    for f in lstInterFuncs:
        data = []   
        for x in newXaxisListofArray:
            data.append(f(x))
    return data

尝试使用列表理解

def makeNewYaxisLstofArrays(newXaxisListofArray,lstInterFuncs):
    for f in lstInterFuncs:
        data = [f(x)for x in newXaxisListofArray]
        for x in newXaxisListofArray:            
    return data
python list-comprehension
2个回答
0
投票

使用zip

x= [1,2,3]
interFunctions = [f1,f2,f3]

y = [f(arg) for f, arg in zip(interFunctions, x)]
© www.soinside.com 2019 - 2024. All rights reserved.