天天看點

python中lambda的用法

  對于一個函數,隻有一句話表示,那麼就可以用lambda表達式表示,如:

  def f(x):

  return x * x

  print(f(5))

  out: 25

  可以寫為:

  f = lambda x: x*x # 冒号左邊為輸入,右邊是傳回值,f是函數名

  對于多個形式參數:

  g = lambda x,y: x+y # 冒号左邊為輸入,右邊是傳回值,f是函數名

  print(g(4,5))

  out: 9

  lambda用到比較多的地方是排序,如:

  def get_four(my):

  return my[2]

  tuple_my = []

  file = open("file.csv", "r")

  for line in file:

  Line = line.strip()

  arr = line.split(",")

  one = arr[1]

  three = arr[3]

  four = int(arr[4])

  tuple_my.append( (one, three, four) )

  tuple_my.sort(key=get_four)

  for my in tuple_my:

  print(my)

  get_four = lambda my: my[2]

  print(my)鄭州人流醫院 http://mobile.120zzzzyy.com/

  tuple_my.sort(key=lambda my: my[2])

  lambda也經常用在符合函數下,如:

  def quadratic(a, b, c):

  return lambda x: a*x*x*x + b*x*x + c*x

  f = quadratic(3, -2, 4)

  345

  print(quadratic(3, -2, 4)(5))