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

如何无需遍历列表查找Spotify唯一track_id对应的曲目信息?

高效查找Spotify曲目ID对应的条目

当然有更高效的方法!你现在用的遍历列表方式,每次查找都要从头扫到目标位置,数据量小的时候没感觉,一旦曲目多到上千上万条,效率会直线下降。

核心思路是把列表转换成字典,因为字典的键值对查找是O(1)时间复杂度,不用遍历整个集合就能直接定位。

第一步:把曲目列表转成字典

用字典推导式就能快速转换,把track_id作为字典的key,整个曲目信息作为value:

# 转换列表为字典
track_dict = {track[0]: track for track in track_list}

如果只需要标题和流行度,也可以只存这两个值:

track_dict = {track[0]: (track[1], track[2]) for track in track_list}

第二步:用字典快速查找

转换完成后,查找就变得超简单,直接用字典的get方法(还能指定找不到时的默认返回值):

def find_track(track_id, track_dict):
    return track_dict.get(track_id, 'Not Found')

顺便纠正你原代码的小问题

  1. 条件判断里是==不是=,你写的if track[0] = track_id会触发语法错误
  2. return track之后的break根本不会执行,因为return已经直接跳出函数了

另外要注意:字典只需要转换一次,之后每次查找都复用这个字典就行,不用重复转换,这样才能最大化效率。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 03:47:33