首页 > 解决方案 > 在不使用内置函数的情况下返回子列表的最小值/最大值?

问题描述

我对 python 比较陌生,对使用子列表查找 int max/min 值有点困惑。下面的例子

首先,我使用的数据集是一个以列表为元素的列表。它看起来像 - [[John, Smith, 15], [Yu, Harold, 16]] 等。我无法从列表中获取 INT 作为最大值或最小值。我试过以下

def get_largest_sale(ret_data):
        return max(ret_data)

并获得最大值,但使用字符串而不是理想的 int。我将如何对其进行编码,以便将其解释为:“获取列表/子列表中的最大数值?” 不返回字符串或其他不完整的数字?谢谢你。我也尝试过 for 循环,但不够精通,无法创造性地找到使用它的方法。

编辑 - 输入将是

[['Daniel', 'Cochran', '274000'], ['Franklin', 'Smith', '199200'], ['Miguel', 'Espinoza', '252000'], ['Joseph', 'Miller', '610300']

由于 Joseph 的数值最高,理想的输出是:

['Joseph', 'Miller', '610300']

标签: python

解决方案


由于您希望整个子列表具有最大值,因此请使用以下键功能max

def get_largest_sale(ret_data):
    return max(ret_data, key=lambda sub: int(sub[2]))

>>> get_largest_sale(data)
['Joseph', 'Miller', '610300']

推荐阅读