在Python中执行映射中的代码块

时间:2017-12-02 23:07:27

标签: python

我想在Python中复制以下JavaScript代码:

let a = [0, 4, 5]
b = a.map(x => {
  if(x < 3) return 0
  else return 1
})

知道我怎么能这样做吗? 我不确定如何在map函数中执行代码块。

2 个答案:

答案 0 :(得分:2)

您可以创建一个函数,也可以使用这样的lambda函数:

from pyspark.ml.clustering import DistributedLDAModel

DistributedLDAModel.load(path)

Python中唯一的匿名函数是lambdas,它们仅限于表达式,如果你想要一个正确的函数,你必须给它一个名字:

>>> a = [0, 4, 5]
>>> b = map(lambda x: 0 if x < 3 else 1, a)
>>> b
[0, 1, 1]

答案 1 :(得分:1)

就个人而言,我更喜欢列表理解为map函数。

>>> a = [0, 4, 5]
>>> [int(x >= 3) for x in a]
[0, 1, 1]

它们允许您使用您想要的任何表达,而无需创建函数。