将函数应用于列表 Python 中的所有项目

Gav*_*ick 2 python lambda data-analysis dataframe pandas

我正在尝试将函数应用于列表。该函数接受一个值并产生另一个值。

例如:

myCoolFunction(75)
Run Code Online (Sandbox Code Playgroud)

会产生一个新的价值

到目前为止,我正在使用这个:

x = 0
newValues = []

for value in my_list:

    x = x + 1
    newValues.append(myCoolFunction(value))
    print(x)
Run Code Online (Sandbox Code Playgroud)

我正在处理大约 125,000 个值,并且它的运行速度似乎不是很有效。

是否有更 Pythonic 的方式将函数应用于值?

Aus*_*tin 5

您可以使用map方法:

list(map(myCoolFunction, my_list))
Run Code Online (Sandbox Code Playgroud)

这将在每个值上应用定义的函数my_list并创建一个映射对象 (3.x)。对其调用 alist()会创建一个新列表。