首页 > 解决方案 > 如何从嵌套列表中提取具有最低整数值的子列表?

问题描述

如果我有一个嵌套列表如下:

foods = [['Category', 'Carbs', 'Calories'], ['SWEET POTATO', '23.4', '100'], ['TOMATOES', '5.1', '23'], ['BEETS', '16.28', '65'], ['LETTUCE', '2.23', '13']]

我想找到并打印卡路里数最低的子列表。我尝试了以下方法:

    lowcal = foods[0]
for x in foods:
    if x[2] < lowcal[2]:
        lowcal = x
    else:
        continue
print (lowcal)

但我得到了错误的输出,我得到:`['SWEET POTATO', '23.4', '100']

当我应该得到:['LETTUCE','2.23','13']

标签: pythonpython-3.x

解决方案


您可以min()在列表中使用key第三个元素:

min([x for x in foods[1:]], key=lambda x: int(x[2]))

推荐阅读