欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

lambda、map、filter、reduce

程序员文章站 2022-05-10 19:58:08
...

1、三元表达式

简单的 if else 语句,可以使用三元运算来表示

# 普通条件语句
if 1 == 1:
    name = '张三'
else:
    name = '李四'
  
# 三元运算
name = '张三' if 1 == 1 else '李四'

2、lambda表达式

# 定义函数(普通方式)
def func(arg):
    return arg + 1
  
# 执行函数
result = func(123)
  
# ###################### lambda ######################
  
# 定义函数(lambda表达式)
my_lambda = lambda arg : arg + 1
  
# 执行函数
result = my_lambda(123)

3、map函数

遍历序列,对序列中每个元素进行操作,最终获取新的序列。

lambda、map、filter、reduce

li = [11, 22, 33]

new_list = map(lambda a: a + 100, li)
li = [11, 22, 33]
sl = [1, 2, 3]
new_list = map(lambda a, b: a + b, li, sl)

4、filter

对于序列中的元素进行筛选,最终获取符合条件的序列

lambda、map、filter、reduce

li = [11, 22, 33]

new_list = filter(lambda arg: arg > 22, li)

#filter第一个参数为空,将获取原来序列

5、reduce

对于序列内所有元素进行累计操作

lambda、map、filter、reduce

lambda、map、filter、reduce

# reduce的第一个参数,函数必须要有两个参数
# reduce的第二个参数,要循环的序列
# reduce的第三个参数,初始值

li = [11, 22, 33]
result = reduce(lambda arg1, arg2: arg1 + arg2, li)