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

如何对random.choices选取内容求和?歌曲列表时长求和求助

问题解决:随机选取3首歌曲时长求和错误修复

错误原因

  1. 未定义变量time:你的代码中使用了time变量,但从未对其赋值,应该从已有的my_favorite_songs列表中提取数据。
  2. 直接对列表求和无效:即便你替换变量为my_favorite_songs,random.choices返回的是3个包含歌曲名和时长的子列表,sum()函数无法直接对列表类型的元素求和,必须提取子列表中的时长数值。

修复后的代码示例

方法一:先提取时长列表再随机选择

import random

my_favorite_songs = [
    ['Waste a Moment', 3.03],
    ['New Salvation', 4.02],
    ['Staying\' Alive', 3.40],
    ['Out of Touch', 3.03],
    ['A Sorta Fairytale', 5.28],
    ['Easy', 4.15],
    ['Beautiful Day', 4.04],
    ['Nowhere to Run', 2.58],
    ['In This World', 4.02],
]

# 提取所有歌曲的时长到单独列表
song_durations = [song[1] for song in my_favorite_songs]
# 随机选3个时长并求和
total_duration = sum(random.choices(song_durations, k=3))
print(total_duration)

方法二:先选歌曲再提取时长求和

import random

my_favorite_songs = [
    ['Waste a Moment', 3.03],
    ['New Salvation', 4.02],
    ['Staying\' Alive', 3.40],
    ['Out of Touch', 3.03],
    ['A Sorta Fairytale', 5.28],
    ['Easy', 4.15],
    ['Beautiful Day', 4.04],
    ['Nowhere to Run', 2.58],
    ['In This World', 4.02],
]

# 随机选取3首歌曲
selected_songs = random.choices(my_favorite_songs, k=3)
# 提取每首歌的时长并求和
total_duration = sum(song[1] for song in selected_songs)
print(total_duration)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 01:05:52