Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带大小写的Python map()_Python_Functional Programming_Mapping - Fatal编程技术网

带大小写的Python map()

带大小写的Python map(),python,functional-programming,mapping,Python,Functional Programming,Mapping,很简单,但我找不到一个像样的例子;所以我在这里问 基本上我是这样的,resultList=map(如果>0:do this,否则:do this,list of numbers) 如何执行此操作?使用lambda()函数。我使用了占位符函数foo()和bar(),您必须将其替换为“do this”/“do this”位 另一种方法是使用列表理解,正如@hop正确地说的,它是Python中首选的方法。这甚至不需要使用lambda函数 resultList = [foo(x) if x > 0

很简单,但我找不到一个像样的例子;所以我在这里问

基本上我是这样的,resultList=map(如果>0:do this,否则:do this,list of numbers)

如何执行此操作?

使用
lambda
()函数。我使用了占位符函数
foo()
bar()
,您必须将其替换为“do this”/“do this”位

另一种方法是使用列表理解,正如@hop正确地说的,它是Python中首选的方法。这甚至不需要使用
lambda
函数

resultList = [foo(x) if x > 0 else bar(x) for x in listOfNumbers)
使用
lambda
()函数。我使用了占位符函数
foo()
bar()
,您必须将其替换为“do this”/“do this”位

另一种方法是使用列表理解,正如@hop正确地说的,它是Python中首选的方法。这甚至不需要使用
lambda
函数

resultList = [foo(x) if x > 0 else bar(x) for x in listOfNumbers)

答案很简单:不要拒绝这个

真的。对那些必须跟着你读代码的人要友好。写几行,像这样:

def choose_value(x):
  if x > 0:
    return blah(x)
  return minor(x)

results = map(choose_value, list_of_numbers)

这在我看来更具可读性和可重用性。

答案很简单:不要这样做

真的。对那些必须跟着你读代码的人要友好。写几行,像这样:

def choose_value(x):
  if x > 0:
    return blah(x)
  return minor(x)

results = map(choose_value, list_of_numbers)

这在我看来更具可读性和可重复使用性。

现在更喜欢列表理解或生成器表达式,因为根据指导原则,我养成了等待2天接受答案的习惯,而且凭借你的天赋,你并不迫切需要立即获得分数!:DCheers@AndrewBoost只是浏览了一下所有已回答的问题,没有任何可接受的答案,并对其进行了评论。我以后会记住2天的时间窗,谢谢。现在更喜欢列表理解或生成器表达式,因为根据指导原则,我养成了等待2天接受答案的习惯,而且根据你的天赋,你不需要立即获得分数DCheers@AndrewBoost只是浏览了一下所有已回答的问题,没有任何可接受的答案,并对其进行了评论。以后我会记住两天的时间,谢谢。这个列表对我来说似乎是不言自明的。这个清单对我来说似乎是不言自明的。