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

如何从存储图像数据的字典中优雅提取指定样本?

如何从存储图像数据的字典中优雅提取指定样本?

我懂你想要避开繁琐循环,从字典里快速揪出指定key对应图像数据的需求!先给你解释下为什么a[sample_keys]会报错:Python字典的索引键必须是可哈希类型,而列表是不可哈希的,直接拿列表当索引自然会抛出TypeError: unhashable type: 'list'的错误。

不用写显式循环的话,有两种非常简洁优雅的Pythonic方案,完全匹配你的需求:

1. 提取为保留键值对的新字典

如果希望得到和原字典结构一致、仅包含指定key的新字典,字典推导式是最优选择:

# 生成仅包含指定键的新字典
selected_data = {key: a[key] for key in sample_keys}

2. 提取为图像数组列表(和你Code3的输出一致)

如果只需要对应值组成的列表,用列表推导式就够了,比手动循环append简洁太多:

# 得到指定键对应图像的列表
X = [a[key] for key in sample_keys]

额外小技巧:避免KeyError

要是担心sample_keys里有不存在于原字典的无效key,可以加个判断过滤掉:

# 只提取原字典中存在的键
selected_data = {key: a[key] for key in sample_keys if key in a}

这些都是Python里的惯用写法,代码简洁易读,完全不需要冗余的循环逻辑,完美替代你原来的实现~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 21:47:45