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

技术问询:如何按匹配日期字符串查找嵌套列表中潮高index的最值?

自动分组计算每日潮汐最高/最低潮高

嘿,这个需求用Python处理超简单的,完全不用手动统计!核心思路是用字典来按日期分组存储潮高数据,然后对每组数据计算最值就行,我给你一步步拆解:

1. 数据分组思路

我们可以用日期字符串作为字典的键,对应的值是该日期下所有潮高的列表。遍历你的嵌套列表时,把每个子列表里的潮高(index 2)添加到对应日期的列表中,这样就能自动完成分组啦。

2. 完整代码示例

假设你的嵌套列表数据是这样的(我加了几个示例数据方便测试):

# 模拟你的潮汐数据嵌套列表
tide_records = [
    ['Thursday 4 January', 11.58, 0.38],
    ['Thursday 4 January', 16.95, 0.73],
    ['Thursday 4 January', 22.12, 0.02],
    ['Friday 5 January', 3.45, 1.21],
    ['Friday 5 January', 9.01, 0.45],
    ['Saturday 6 January', 14.33, 0.89],
    ['Saturday 6 January', 20.55, 0.15]
]

# 初始化字典用于分组存储
daily_tides = {}

# 遍历原始数据完成分组
for record in tide_records:
    date = record[0]
    height = record[2]
    # 如果日期不在字典里,先创建空列表
    if date not in daily_tides:
        daily_tides[date] = []
    # 添加潮高到对应日期的列表
    daily_tides[date].append(height)

# 遍历分组后的数据,计算并输出结果
for date, heights in daily_tides.items():
    min_height = min(heights)
    max_height = max(heights)
    # 按照要求的格式输出,保留两位小数
    print(f"{date}: {min_height:.2f} meters at lowest and {max_height:.2f} meters at highest")

3. 代码解释

  • 首先我们用daily_tides这个字典来分组,键是日期,值是该日期的所有潮高集合;
  • 遍历原始数据时,自动判断日期是否已经在字典中,没有就新建列表,有就直接追加潮高;
  • 最后用min()和max()函数直接计算每组的最值,再用f-string格式化输出成你要的样式。

运行这段代码后,输出会是:

Thursday 4 January: 0.02 meters at lowest and 0.73 meters at highest
Friday 5 January: 0.45 meters at lowest and 1.21 meters at highest
Saturday 6 January: 0.15 meters at lowest and 0.89 meters at highest

刚好符合你想要的格式,而且不管你有多少天的数据,都能自动处理,完全不用手动比对~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 04:50:11