You need to enable JavaScript to run this app. 如何基于changes列表遍历C大调音阶midi值列表C得到目标输出序列
优惠活动
大模型
产品
解决方案
定价
更多

如何基于changes列表遍历C大调音阶midi值列表C得到目标输出序列

实现方法

你当前的代码遍历对象是C列表,所以只能输出C的所有元素。你的需求实际是把changes列表的每个元素作为索引,去读取C列表对应位置的midi值,修改逻辑如下:

示例代码

C = [60, 62, 64, 65, 67, 69, 71]
changes = [0, 6, 2, 4, 4, 4, 3, 2]

# 按changes的索引值提取C的对应元素
result = [C[i] for i in changes]
# 格式化输出为要求的逗号分隔格式,末尾加句号
print(', '.join(map(str, result)) + '.')

说明

上述逻辑对changes的长度没有限制,哪怕你实际场景有64个数值也可以正常运行,只需要保证changes里的所有数值都不超过C列表的最大索引(当前C的最大索引为6),就不会出现索引越界错误。
如果你运行代码得到的结果和你给出的期望输出不一致,是你问题里贴的changes示例存在笔误,调整changes的实际数值即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 21:06:06