Python 我需要在代码中更改什么才能获得这样的输出[None,2,None,4,None]。我使用lambd函数来实现这一点
我正在尝试这样做:Python 我需要在代码中更改什么才能获得这样的输出[None,2,None,4,None]。我使用lambd函数来实现这一点,python,lambda,Python,Lambda,我正在尝试这样做: evenList = ((lambda x : x if x%2==0 else None), [1,2,3,4,5,6]) 预期产出: [None,2,None,4,None,6] 我得到: (<function __main__.<lambda>>, [1,2,3,4,5,6]) (,[1,2,3,4,5,6]) 您刚刚创建了一个元组,没有使用lambda 像这样更改代码 In [10]: list(map((lambda x : x if
evenList = ((lambda x : x if x%2==0 else None), [1,2,3,4,5,6])
预期产出:
[None,2,None,4,None,6]
我得到:
(<function __main__.<lambda>>, [1,2,3,4,5,6])
(,[1,2,3,4,5,6])
您刚刚创建了一个元组,没有使用lambda
像这样更改代码
In [10]: list(map((lambda x : x if x%2==0 else None), [1,2,3,4,5,6]))
Out[10]: [None, 2, None, 4, None, 6]
更好地使用列表理解
In [11]: [i if i%2==0 else None for i in [1,2,3,4,5,6]]
Out[11]: [None, 2, None, 4, None, 6]
你只是创建了一个元组,没有使用lambda 像这样更改代码
In [10]: list(map((lambda x : x if x%2==0 else None), [1,2,3,4,5,6]))
Out[10]: [None, 2, None, 4, None, 6]
更好地使用列表理解
In [11]: [i if i%2==0 else None for i in [1,2,3,4,5,6]]
Out[11]: [None, 2, None, 4, None, 6]
为什么不简单地使用:
>>> [x if x%2==0 else None for x in range(1,7)]
[None, 2, None, 4, None, 6]
为什么不简单地使用:
>>> [x if x%2==0 else None for x in range(1,7)]
[None, 2, None, 4, None, 6]
不要使用lambda。只需使用一个列表comp.lambda+映射或列表comp(我建议使用第二个选项)即可
[x如果x%2==0,则在[1,2,3,4,5,6]中为x无]
不要使用lambda。只需使用一个列表comp.lambda+映射或列表comp(我建议使用第二个选项)即可[x如果x%2==0,则x在[1,2,3,4,5,6]]中为无]