El valor de retorno de Python lambda puso múltiples condiciones pensamiento extendido (preguntas de la entrevista)

Preguntas de la entrevista, requieren lambda para lograr el siguiente efecto 
foo = [ -5, 8, 0, 4, 9, -4, -20, -2, 8, 2, -4]
Números positivos de pequeño a grande , números negativos de grande A la pequeña

respuesta:
res = sorted (foo, key = lambda x: (x < 0, abs (x))) 
print (res)

Comenzando a pensar en lambda a partir de esto,
lambda x: x es
equivalente a
def func (x):
  return x

cuando se ordena (foo, key = lambda x: (x < 0, abs (x)))
seguirá a x <0, luego ordenado en el orden de abs (x)

res = ordenado (foo, clave = lambda x: (x> 0, x% 2, abs (x))) 
imprimir (res)
Incluso puedes agregar una capa de condiciones

Supongo que te gusta

Origin www.cnblogs.com/zhaolei1986/p/12711978.html
Recomendado
Clasificación