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

如何查找列表中关联值为1的变量并输出其索引位置

实现方法

核心逻辑分两步:先建立变量名和对应值的匹配关系,再遍历目标列表同时记录索引,筛出值为1的项对应的位置即可。

最推荐用字典存变量和值的映射,逻辑清晰好维护,代码如下:

# 存储变量名和对应关联值
value_map = {
    "Apples": 1,
    "Oranges": 0,
    "Bananas": 1,
    "Grapes": 0
}
list1 = ["Apples", "Oranges", "Bananas", "Grapes"]

# 枚举列表同时拿到索引和元素名,筛选符合条件的索引
match_index = [idx for idx, name in enumerate(list1) if value_map[name] == 1]
print(match_index)

运行后输出结果为[0, 2],完全符合预期。

如果你不想重构原来散写的变量定义,也可以通过全局变量字典直接取值,但是这种写法依赖作用域,变量名对不上就容易出bug,不推荐在正式代码里用,仅做参考:

Apples = 1
Oranges = 0
Bananas = 1
Grapes = 0

list1 = ["Apples", "Oranges", "Bananas", "Grapes"]
match_index = [idx for idx, name in enumerate(list1) if globals()[name] == 1]
print(match_index)

小提示:enumerate是Python内置的遍历函数,可以在遍历可迭代对象的时候同时返回当前元素的索引和元素本身,做索引匹配场景用非常方便。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 10:18:21