ZhangZhihui's Blog  

We can place lambda function inside list and dictionary literals. This way we can use lambda expressions to create jump tables.

>>> L = [lambda s: s.strip().lower(),

...  lambda s: s.strip().upper(),

...  lambda s: s.lstrip().title(),

...  lambda s: s[::-1].lower(),

...  ]

Here, we have stored these lambda expressions in a list:

>>> L[1]('Python')

PYTHON

>>> L[3]('Python')

nohtyp

Here, we have used lambda expressions as values of a dictionary:

>>> d = {'add': lambda x, y: x + y,

...  'subtract': lambda x, y: x - y,

...  'multiply': lambda x, y: x * y,

...  'divide': lambda x, y: x // y,

...  'power': lambda x, y: x ** y,

...  'double': lambda x: x * 2,

...  'square': lambda x: x ** 2,

...  'table': lambda x: [x * i for i in range(1, 11)],

...  'summation': lambda x: sum(range(1, x + 1)),

...  }

>>> d['summation'](4)

10

>>> d['power'](3,2)

9

So, when you have to write a lot of small functions that are used only once, you can use lambda expressions instead of defining lots of one-off def statements. 

 

posted on 2024-07-31 17:11  ZhangZhihuiAAA  阅读(2)  评论(0编辑  收藏  举报