马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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的用法,谢谢
你好!要使用 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() 函数用于对序列中的每个元素进行操作,并返回一个新的迭代器,其中包含经过指定操作的元素。它的语法如下:
其中, function 是一个对每个元素进行操作的函数, iterable 是一个可迭代对象。 map() 函数会遍历 iterable 中的每一个元素,对每个元素应用 function ,并将结果添加到新的迭代器中。
希望能对你有所帮助!如果还有其他问题,请随时提问。
|