You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python多维列表monthlyAVG中查找最值并关联月份?

解决方法:找出温度最值对应的月份

嘿,作为Python新手,这个需求其实很好上手!我给你拆解一下步骤,再附上完整代码,保证你一看就懂~

首先,咱们先明确你的数据结构:monthlyAVG里的每个子列表都是[月份, 最高气温, 最低气温],我们要从所有气温(不管是最高还是最低)里找出最小的数值和最大的数值,再对应上它们的月份,最后按要求格式输出。

实现思路

  1. 把所有的「气温-月份」组合收集到一个列表里,这样方便我们直接用Python内置的min()和max()函数找最值。
  2. 利用元组的特性:当比较元组时,Python会先对比第一个元素(这里就是气温),所以把气温放在元组的第一位,月份放在第二位,min()和max()就能直接帮我们找到对应气温的条目。
  3. 最后把找到的最小、最大条目里的月份和气温按格式拼接输出。

完整代码示例

# 你的原始数据
monthlyAVG = [["January",6,3],["February",7,3],["March",10,4],["April",13,6],["May",17,9],["June",20,12],["July",22,14],["August",21,14],["September",19,12],["October",14,9],["November",10,6],["December",7,3]]

# 收集所有气温和对应的月份
all_temperature_pairs = []
for month, high_temp, low_temp in monthlyAVG:
    # 把最低气温和月份加入列表
    all_temperature_pairs.append( (low_temp, month) )
    # 把最高气温和月份加入列表
    all_temperature_pairs.append( (high_temp, month) )

# 找到气温最低的条目和最高的条目
lowest_entry = min(all_temperature_pairs)
highest_entry = max(all_temperature_pairs)

# 按要求格式输出:月份 气温 月份 气温
print(f"{lowest_entry[1]} {lowest_entry[0]} {highest_entry[1]} {highest_entry[0]}")

代码解释

  • 遍历monthlyAVG时,我们用解包的方式把每个子列表里的三个元素分别赋值给month、high_temp、low_temp,这样代码更清晰。
  • all_temperature_pairs里的每个元素都是(气温, 月份)的元组,比如(3, "January")、(22, "July")。
  • min(all_temperature_pairs)会返回第一个气温最小的元组(这里是(3, "January"),因为January是第一个出现3的月份),max()同理返回气温最大的元组(22, "July")。
  • 最后用f-string把月份和气温拼接起来,就得到你想要的输出啦~

运行这段代码,输出就是:January 3 July 22,完全符合你的要求!

内容的提问来源于stack exchange,提问作者finalerock44

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 14:23:10