gpt4 book ai didi

Python:使用键的元组中最多包含 2 个或更多元素的列表

转载 作者:行者123 更新时间:2023-12-03 20:50:10 25 4
gpt4 key购买 nike

假设我有一个列表元组:

g = (['20', '10'], ['10', '74'])

我想要两个基于每个列表中第一个值的最大值

max(g, key = ???the g[0] of each list.something that im clueless what to provide)

答案是 ['20', '10']那可能吗?这里的关键是什么?根据上面的回答。

另一个例子:

g = (['42', '50'], ['30', '4'])
ans: max(g, key=??) = ['42', '50']

PS:我所说的最大值是指数值最大值。

最佳答案

只需传入一个获取每个项目的第一个元素的可调用对象。使用operator.itemgetter()最简单:

from operator import itemgetter

max(g, key=itemgetter(0))

但是如果您必须针对整数值而不是按字典顺序排序的项目进行测试,lambda 可能会更好:

max(g, key=lambda k: int(k[0]))

您需要哪一个取决于您期望包含不同长度数字的字符串的最大值。 '4' 是小于还是大于 '30'

演示:

>>> g = (['42', '50'], ['30', '4'])
>>> from operator import itemgetter
>>> max(g, key=itemgetter(0))
['42', '50']
>>> g = (['20', '10'], ['10', '74'])
>>> max(g, key=itemgetter(0))
['20', '10']

或显示 itemgetter()lambdaint() 之间的区别:

>>> max((['30', '10'], ['4', '10']), key=lambda k: int(k[0]))
['30', '10']
>>> max((['30', '10'], ['4', '10']), key=itemgetter(0))
['4', '10']

关于Python:使用键的元组中最多包含 2 个或更多元素的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17504681/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com