带大小写的Python map()
很简单,但我找不到一个像样的例子;所以我在这里问 基本上我是这样的,resultList=map(如果>0:do this,否则:do this,list of numbers) 如何执行此操作?使用带大小写的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
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只是浏览了一下所有已回答的问题,没有任何可接受的答案,并对其进行了评论。以后我会记住两天的时间,谢谢。这个列表对我来说似乎是不言自明的。这个清单对我来说似乎是不言自明的。