lambda x:x-0 和 x-1 是什么意思?

问题描述 投票:0回答:1

这个表达式有什么作用

my_tuple=(0,1,2,3,4,5)
foo=list(filter(lambda x:x-0 and x-1, my_tuple))
print(foo)

关于方程的预期输出是什么

python-3.x
1个回答
0
投票

lambda
是创建单线性函数的一种快速方法,其中
:
的左侧是函数的参数,右侧是返回值。

让我们从内到外分解这个表达式:

  • lambda x:x-0 and x-1
    是一个函数,它接受
    x
    ,计算
    x-0
    (即
    x
    )、
    x-1
    ,并在它们之间执行逻辑“与”运算。如果
    True
    两边都不为零,则此函数将返回
    and
    。换句话说,如果
    True
    既不是
    x
    也不是
    0
    ,它将返回
    1
  • filter(lambda x:x-0 and x-1, my_tuple)
    采用
    my_tuple
    ,并使用上面定义的函数计算每个元素,仅保留返回
    True
  • 的元素
  • list
    应用于
    filter
    调用的结果会将生成的
    filter
    对象转换为列表。

所以,总结一下 - 这个调用返回一个

list
,其中包含
my_tuple
中不是
0
1
的所有元素。

© www.soinside.com 2019 - 2024. All rights reserved.