在地图中使用条件和 lambda
using a conditional and lambda in map
如果我想获取一个数字列表并执行如下操作:
lst = [1,2,4,5]
[1,2,4,5] ==> ['lower','lower','higher','higher']
其中3
是使用map函数的条件,有没有简单的方法?
显然 map(lambda x: x<3, lst)
让我很接近,但我如何在 map 中包含一个语句,让我立即 return 一个字符串而不是布尔值?
>>> lst = [1,2,4,5]
>>> map(lambda x: 'lower' if x < 3 else 'higher', lst)
['lower', 'lower', 'higher', 'higher']
旁白:通常首选使用列表理解
>>> ['lower' if x < 3 else 'higher' for x in lst]
['lower', 'lower', 'higher', 'higher']
三元运算符:
map(lambda x: 'lower' if x<3 else 'higher', lst)
如果我想获取一个数字列表并执行如下操作:
lst = [1,2,4,5]
[1,2,4,5] ==> ['lower','lower','higher','higher']
其中3
是使用map函数的条件,有没有简单的方法?
显然 map(lambda x: x<3, lst)
让我很接近,但我如何在 map 中包含一个语句,让我立即 return 一个字符串而不是布尔值?
>>> lst = [1,2,4,5]
>>> map(lambda x: 'lower' if x < 3 else 'higher', lst)
['lower', 'lower', 'higher', 'higher']
旁白:通常首选使用列表理解
>>> ['lower' if x < 3 else 'higher' for x in lst]
['lower', 'lower', 'higher', 'higher']
三元运算符:
map(lambda x: 'lower' if x<3 else 'higher', lst)