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

Python如何基于字典信息对坐标数组进行标注得到目标序列

实现思路与代码

我们可以先把原字典Z的结构做一次转换,生成「坐标对对应标注值」的查询映射:因为Python中列表不能作为字典的key,所以我们把每个坐标列表转成元组来当key,对应的值就是Z里的key。后续遍历X的时候直接查映射表就能快速得到结果,时间复杂度只有O(n),比每次遍历Z查询效率高很多。

# 给定的原始数据
Z = {
    1: [[7,0],[7,1]], 
    2: [[3,4],[2,4]],
    3: [[0,3],[4,6]]
} 
X = [[7,0],[0,3],[3,4],[4,6],[7,1],[2,4]]

# 构建坐标映射表
coord_to_label = {}
for label, coord_list in Z.items():
    for coord in coord_list:
        coord_to_label[tuple(coord)] = label

# 遍历X生成标注结果Y
Y = [coord_to_label[tuple(coord)] for coord in X]

print(Y)
# 运行输出:[1, 3, 2, 3, 1, 2]

如果遇到X里存在Z中没有收录的坐标的情况,可以修改列表推导式加默认值,避免抛出KeyError:

# 找不到对应标注时默认返回None,可自行修改默认值
Y = [coord_to_label.get(tuple(coord), None) for coord in X]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 02:45:08