在不知道有多少元素的情况下,在多维列表中查找最大值

2024-03-28 22:24:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在为我在学校的课程开发一些代码,但我的想法要求我在一些不同的数组中找到最大值。这看起来很简单,但主要的问题是我不知道列表中有多少元素,因为每次用户完成我的测试时,我的列表都包含结果。例如,如果我的列表包含:

main_list=[["Name1",[21,22,25]],
          ["name2",[26,21,24]],
          ["name3",[29,21,24]]]

每次执行主程序时,它都会向列表中添加另一个元素。因此,如果再次执行,我的列表将变成:

main_list=[["Name1",[21,22,25]],
          ["name2",[26,21]],
          ["name3",[29,21,24]],
          ["name4",[21]]]

所以你看,我将无法看到有多少元素。然而,我需要将二维列表(main_list[0][1] + main_list[1][1] + main_list[2][1] etc.)中的第二个元素相加,并在其中找到最大的值。 我该怎么做?你知道吗


Tags: 代码用户元素列表mainetc数组学校
1条回答
网友
1楼 · 发布于 2024-03-28 22:24:45

您可以在不知道数组大小的情况下循环遍历数组,并创建一个dict,用它的最大值表示每个名称。你知道吗

main_list=[["Name1",[21,22,25]],
          ["name2",[26,21,24]],
          ["name3",[29,21,24]]]


res = {sub_list[0]: max(sub_list[1]) for sub_list in main_list}

print (res)
>>> {'Name1': 25, 'name2': 26, 'name3': 29}

print (max(res.values()))
>>> 29

相关问题 更多 >