我有一个字典,其中有一个名为 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/