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

如何比较歌曲时长?找出播放列表中最长歌曲并打印名称

解决歌曲时长比较并找出最长歌曲的方案
  • 核心思路:将「分:秒」格式的字符串转换为总秒数(整数),通过数值大小准确比较时长;同时要把歌曲名称与时长绑定,避免丢失对应关系。

  • 步骤1:编写时长转换函数
    拆分字符串为分钟和秒,计算总秒数:

    def convert_to_seconds(duration_str):
        minutes, seconds = map(int, duration_str.split(':'))
        return minutes * 60 + seconds
    
  • 步骤2:关联歌曲名称与时长
    用元组列表存储完整播放列表,每个元组包含(歌曲名,时长字符串):

    # 示例播放列表
    playlist = [
        ('夜曲', '5:13'),
        ('晴天', '4:05'),
        ('稻香', '4:15'),
        ('七里香', '4:23'),
        ('发如雪', '4:13')
    ]
    
  • 步骤3:找出最长歌曲
    使用max()函数,通过key参数指定按转换后的总秒数排序:

    longest_song = max(playlist, key=lambda song: convert_to_seconds(song[1]))
    print(f"最长的歌曲是:{longest_song[0]},时长{longest_song[1]}")
    
  • 简化写法(无需单独函数)
    若不想定义函数,可直接在lambda中完成转换:

    longest_song = max(playlist, key=lambda s: int(s[1].split(':')[0])*60 + int(s[1].split(':')[1]))
    
  • 关键注意点
    绝对不要直接比较时长字符串:比如'10:00'和'9:59',字符串比较会误判'9:59'更长(首字符'9' > '1'),但实际前者时长更久,必须转换为数值后再比较。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 19:01:52