为了账号安全,请及时绑定邮箱和手机立即绑定

如何在python中使用生成器查找特定值

如何在python中使用生成器查找特定值

一只名叫tom的猫 2021-08-17 10:10:14
我创建了一个返回元组的生成器,例如项目名称和价格。output = ('apple',$2)我想在生成器的所有输出中找到价格最高时的元组。当元组不是生成器的输出时,我知道如何获得第二项的最大值,但我不知道何时需要循环生成器。我应该附加循环结果并首先创建一个超级列表吗?例如,[('apple',$2),('pear',$1) ... ]
查看完整描述

1 回答

?
繁花不似锦

TA贡献1851条经验 获得超4个赞

max接受任何迭代。生成器是可迭代的。您可以提供自定义key函数,以便max仅考虑第一个索引:


from operator import itemgetter


# generator expression below can also be a generator function

gen = (i for i in (('apple', 2), ('pear', 1)))


res = max(gen, key=itemgetter(1))  # ('apple', 2)


查看完整回答
反对 回复 2021-08-17
  • 1 回答
  • 0 关注
  • 234 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信