在地图中使用条件和 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)