gpt4 book ai didi

python - map() 中带有 if 条件的 Lambda

转载 作者:太空宇宙 更新时间:2023-11-03 15:23:39 25 4
gpt4 key购买 nike

我有一段练习代码:

even = []
odd = []

for x in range(1000):
if x % 2 != 0:
odd.append(x)
else:
even.append(x)

print map(lambda x: x if str(x)[-1] == '2' else pass, even)

print even
print odd

在我看来,我最终应该得到 0 - 999 范围内的奇数的完整列表和同一范围内不以“2”结尾的偶数的列表。然而在实践中,我不断收到指向 lambda 表达式中的“pass”的语法错误。

我在这里做错了什么?

干杯,格力姆

最佳答案

pass 是一个语句,但内联 if 作为一个运算符,需要其操作数是表达式。 map 实际上无法从序列中删除元素,但是 filter (返回一个新列表,其中仅包含函数返回 True 的值)可以:

print filter(lambda x: str(x)[-1] == '2', even)

关于python - map() 中带有 if 条件的 Lambda,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43302559/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com