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

如何使用enumerate写单行for循环提取列表中匹配指定值的所有索引

正确实现代码
my_id = 3
word_ids = [None, 0, 1, 2, 3, 3, 3, 4, None]
# 单行列表推导式实现需求
list_of_word_ids = [idx for idx, val in enumerate(word_ids) if val == my_id]

运行后list_of_word_ids的取值为[4, 5, 6],完全符合预期输出要求。

原有代码错误说明
  • enumerate语法使用错误:enumerate()需要传入待遍历的列表作为入参,每次遍历返回的是(索引位置, 对应元素值)的元组,正确遍历写法为for 索引变量, 值变量 in enumerate(目标列表)
  • 变量名不匹配:你代码中用到的inputs、id_word和实际定义的word_ids、my_id变量名无法对应,导致逻辑执行报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 09:00:01