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

时间:2019-04-06 13:34:56

标签: python pandas dataframe lambda data-analysis

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

例如:

$('.center').slick({
    slidesToShow: 6,
    slidesToScroll: 6,
    dots: true,
    infinite: true,
    cssEase: 'linear',
  responsive: [
    {
      breakpoint: 992,
      settings: {
        slidesToShow: 3,
        slidesToScroll: 3,
      }
    },
    {
      breakpoint: 480,
      settings: {
        arrows: false,
        centerMode: true,
        centerPadding: '40px',
        slidesToShow: 1
      }
    }
  ]
});

将产生新的价值

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

myCoolFunction(75)

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

是否存在将函数应用于值的更多pythonic方法?

2 个答案:

答案 0 :(得分:3)

您可以使用map方法:

list(map(myCoolFunction, my_list))

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

答案 1 :(得分:0)

这个问题被Pandas相关的事物严重标记。这就是上面提到的pythonic映射和列表理解技术如何通过Pandas完成的。

import pandas as pd

def myCoolFunction(i):
    return i+1

my_list = [1,2,3]
df = pd.DataFrame(index=my_list, data=my_list, columns=['newValue']).apply(myCoolFunction)