think321 发表于 2024-6-1 12:41:14

支持

寒陌依汐 发表于 2025-3-19 11:13:50

加油了,啊啊啊啊啊啊{:10_266:}

我就是流氓兔 发表于 2025-3-27 15:17:14

lambda 就像C语言中的宏

liabcd 发表于 2025-5-3 18:32:52

打卡

万恶的亚撒西 发表于 2025-6-4 17:09:00

活学活用需要时间~难难难-20250604

飞哥的飞 发表于 2025-11-26 12:18:50

是时候复习filter 和 map 了

匹诺曹的鼻子 发表于 2025-12-16 23:03:41

加油

changkai09 发表于 2026-1-5 11:01:05

Arrin 发表于 2023-3-12 10:24
power = {"吕布":999, "关羽":888, "刘备":666, "张飞":900, "赵云":789, "不二如是":999}
   
# 请 lam ...

可以这样修改:
power = {"吕布":999, "关羽":888, "刘备":666, "张飞":900, "赵云":789, "不二如是":999}
greater = list(filter(lambda item:item if item > 800 else None, power.items()))
print(greater)

结果:
[('吕布', 999), ('关羽', 888), ('张飞', 900), ('不二如是', 999)]

如果替换为map函数:
greater = list(map(lambda item:item if item > 800 else None, power.items()))
结果为:
[('吕布', 999), ('关羽', 888), None, ('张飞', 900), None, ('不二如是', 999)]

解释:
lambda item:item if item > 800 else None
等价于:
def function(item):
    if item > 800:
      return item
    else:
      return None
之所以要item是因为:
power.items()结果为:
dict_items([('吕布', 999), ('关羽', 888), ('刘备', 666), ('张飞', 900), ('赵云', 789), ('不二如是', 999)])
每个参数都是一个元组,取item就是名字后面的数值,例如:
for item in power().items():
    print item
结果:999 888 666 900 789 999

页: 1 [2]
查看完整版本: 第047讲:函数(VII)- lambda表达式