鱼C论坛

 找回密码
 立即注册
查看: 1411|回复: 1

[已解决]lambda表达式求助

[复制链接]
发表于 2023-8-29 11:02:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
power = {"吕布":999, "关羽":888, "刘备":666, "张飞":900, "赵云":789, "不二如是":999}

# 请 lambda 表达式和 filter() 函数配合,替换下面的代码
#greater = []
#for k, v in power.items():
#    if v > 800:
#        greater.append((k,v))
great = list(filter(lambda k, v: v > 800, for k, v in len(power)))


# 请 lambda 表达式和 filter() 函数配合,替换下面的代码
#print(greater)
#[('吕布', 999), ('关羽', 888), ('张飞', 900), ('不二如是', 999)]
如何替换为lambda表达式,同时希望讲一下filter和map的用法,谢谢
最佳答案
2023-8-29 11:03:33
你好!要使用 lambda 表达式和 filter() 函数来替换给定的代码,可以按照以下方式进行修改:
power = {"吕布":999, "关羽":888, "刘备":666, "张飞":900, "赵云":789, "不二如是":999}

great = list(filter(lambda item: item[1] > 800, power.items()))

在 lambda 表达式中, item  代表字典中的每一个键值对, item[1]  表示值。我们使用  filter()  函数来筛选出满足条件的键值对,即值大于 800 的键值对。最后,将筛选结果转换为列表。

关于  filter()  函数和  map()  函数的用法,简要介绍如下:

·  filter()  函数用于过滤序列,根据指定的条件筛选出满足条件的元素,并返回一个新的迭代器。它的语法如下:
  filter(function, iterable)
  
  其中, function  是一个返回布尔值的函数, iterable  是一个可迭代对象。 filter()  函数会遍历  iterable  中的每一个元素,对每个元素应用  function ,如果函数返回  True ,则保留该元素;如果函数返回  False ,则过滤掉该元素。

·  map()  函数用于对序列中的每个元素进行操作,并返回一个新的迭代器,其中包含经过指定操作的元素。它的语法如下:
  map(function, iterable)
  
  其中, function  是一个对每个元素进行操作的函数, iterable  是一个可迭代对象。 map()  函数会遍历  iterable  中的每一个元素,对每个元素应用  function ,并将结果添加到新的迭代器中。

希望能对你有所帮助!如果还有其他问题,请随时提问。

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-8-29 11:03:33 | 显示全部楼层    本楼为最佳答案   
你好!要使用 lambda 表达式和 filter() 函数来替换给定的代码,可以按照以下方式进行修改:
power = {"吕布":999, "关羽":888, "刘备":666, "张飞":900, "赵云":789, "不二如是":999}

great = list(filter(lambda item: item[1] > 800, power.items()))

在 lambda 表达式中, item  代表字典中的每一个键值对, item[1]  表示值。我们使用  filter()  函数来筛选出满足条件的键值对,即值大于 800 的键值对。最后,将筛选结果转换为列表。

关于  filter()  函数和  map()  函数的用法,简要介绍如下:

·  filter()  函数用于过滤序列,根据指定的条件筛选出满足条件的元素,并返回一个新的迭代器。它的语法如下:
  filter(function, iterable)
  
  其中, function  是一个返回布尔值的函数, iterable  是一个可迭代对象。 filter()  函数会遍历  iterable  中的每一个元素,对每个元素应用  function ,如果函数返回  True ,则保留该元素;如果函数返回  False ,则过滤掉该元素。

·  map()  函数用于对序列中的每个元素进行操作,并返回一个新的迭代器,其中包含经过指定操作的元素。它的语法如下:
  map(function, iterable)
  
  其中, function  是一个对每个元素进行操作的函数, iterable  是一个可迭代对象。 map()  函数会遍历  iterable  中的每一个元素,对每个元素应用  function ,并将结果添加到新的迭代器中。

希望能对你有所帮助!如果还有其他问题,请随时提问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-21 15:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表