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

Siri Shortcuts使用问题:如何获取字典中选中值对应的key

字典选中条目key反查实现方案

你用到的初始JSON字典如下:
{"key_0":"myValue_0","key_1":"myValue_1"}
字典展示效果如下:
字典展示效果
结合你能获取到的三个资源(选中条目的value、全量key列表、全量value列表),可以通过以下两种方案实现需求:

方案1:索引匹配法(适合单次查询、value唯一的场景)

全量key列表和全量value列表的顺序是严格一一对应的(Python3.7+、JavaScript等主流语言的字典/对象实现均保留插入顺序),你只需要先查到选中value在全量value列表中的索引,再用该索引去全量key列表中取对应元素即可。
示例代码(Python):

# 你可获取的三个入参
selected_value = "myValue_1"
all_keys = ["key_0", "key_1"]
all_values = ["myValue_0", "myValue_1"]

# 执行查询
target_index = all_values.index(selected_value)
target_key = all_keys[target_index]

示例代码(JavaScript):

// 你可获取的三个入参
const selectedValue = "myValue_1"
const allKeys = ["key_0", "key_1"]
const allValues = ["myValue_0", "myValue_1"]

// 执行查询
const targetIndex = allValues.indexOf(selectedValue)
const targetKey = allKeys[targetIndex]

方案2:预构建反向映射字典(适合多次查询、需要提升查询效率的场景)

你可以提前用全量key和全量value生成一个值到key的反向映射字典,后续查询直接调用即可,无需每次遍历索引。
示例代码(Python):

all_keys = ["key_0", "key_1"]
all_values = ["myValue_0", "myValue_1"]

# 预构建反向映射
value_key_map = dict(zip(all_values, all_keys))

# 后续查询直接调用
selected_value = "myValue_0"
target_key = value_key_map[selected_value]

注意事项

  • 如果你的业务场景中存在value重复的情况,上述方案默认返回第一个匹配到的key,你需要额外结合UI选中的位置等业务信息做进一步判断。
  • 确认你使用的编程语言的字典实现保留插入顺序,且返回的全量key、全量value列表顺序对应,目前主流编程语言的标准字典实现均满足该要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 20:24:04