python - 在不知道全名的情况下在字典中查找键

标签 python dictionary

我有一个字典,其中有一个名为 ev#### 的键,其中 #### 是一些我事先不知道的数字。字典中只有一个这种类型的键,没有其他以ev开头的键。

在不知道 #### 是什么的情况下访问该 key 的最简洁方法是什么?

最佳答案

您可以试试这个列表理解:( ideone )

result = [v for k, v in d.iteritems() if k.startswith('ev')][0]

或者这种使用生成器表达式的方法:( ideone )

result = next(v for k, v in d.iteritems() if k.startswith('ev'))

请注意,这些都需要对字典中的项目进行线性扫描,这与平均以恒定时间运行的普通键查找不同(假设具有良好的哈希函数)。然而,生成器表达式可以在找到 key 后立即停止。列表理解将始终扫描整个字典。

关于python - 在不知道全名的情况下在字典中查找键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7958327/

相关文章:

python - 如何使用现有数据帧的 for 循环创建动态数据帧

c# - 枚举案例处理 - 更好地使用开关或字典?

dictionary - 如何将任何记录转换为 F# 中的 map /字典?

c# - 在平面 map 上随机生成方 block

Java游戏开发。使瓦片 map 更快。优化建议

swift - 字典值搜索中的字典

python - 与 houghlines opencv+python 平行的线

python - 使用 Python (GAE) 读取图像的颜色

python - 用于上传和处理文件的 uWSGI

python - 静态的还是恒定的,或者它们是什么?