微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 python 中的 reduce() 函数来搜索列表?

如何解决如何使用 python 中的 reduce() 函数来搜索列表?

如何使用python中的reduce()函数在列表中搜索一个键?据我所知,它只对求和有用。

解决方法

为此您不需要 reduce。只需使用:

key in my_list
,

您可以使用 reduce 来选择性地将符合您搜索条件的元素附加到结果列表中:

from functools import reduce

L = ['Apple','Banana','Orange','Grape']

sr = reduce(lambda a,s: a+[s]*('n' in s),L,[]) # items containing 'n'

print(sr)

['Banana','Orange']

初始值是一个空列表(lambda 的 a 参数)。如果 L 的每个元素(s 参数)包含“n”,则将其添加到结果列表中。 [s]*('n' in s) 将包含 s 的单项列表乘以条件检查的结果(s 中的“n”),得到一个空列表(不满足条件时)或包含 {{1 }}然后将其与累积结果 (s) 连接

,
reduce(lambda x,y: x if x == 7 else y,some_list,None)

如果 7 包含 some_list,这将返回 7。这里的逻辑基本上是您将累加器用作结果的持有者。如果你找到了你正在寻找的任何东西,你就传递它,否则你传递“累加器”,因为它知道它已经包含找到的值或它以什么开头。

注意:我们不是来做你的课程的。展示您尝试过的方法。

,
import functools 
lis = [ 1,3,5,6,2,] 
  
print ("The sum of the list elements is : ",end="") 
print (functools.reduce(lambda a,b : a+b,lis)) 

print ("The maximum element of the list is : ",b : a if a > b else b,lis)) 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。