python - 有没有比转换为字符串更好的方法在 python 中创建字典键?

标签 python dictionary key

我有一个函数可以返回与 3D 空间中的向量 F(i,j,k) 相关联的能量。

F() 是一个慢函数,所以我有一个字典来检查 F() 是否已为特定的 i、j、k 调用,如果已调用,我就从字典中获取该值。

我目前正在这样做:

key = "_".join( [ str(i), str(j), str(k)  ])

if key not in dic: 
    dic[key] = F(i,j,k)

Energy = dic[key]

有没有比像这样连接向量更好的方法来创建 key ?

最佳答案

字典键可以是任何东西hashable ; 3 个值的元组就可以了:

key = i, j, k  # a comma makes this a tuple
try:
    Energy = dic[key]
except KeyError:
    Energy = dic[key] = F(i, j, k)

我在这里使用异常处理(请求原谅)而不是显式测试 key 是否存在(请求许可);当缺少 key 是常态时,前者更快。

关于python - 有没有比转换为字符串更好的方法在 python 中创建字典键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24362724/

相关文章:

Python Regex - 查找单词中的字符串模式

python - 使用另一个字典过滤Python字典

python - 来自 Python 中 2 个不同长度列表的字典

c# - 到处获取所有按下的键

ms-access - 如何重命名Access DB中的主键值

python - 将其中包含数字的文件分组和划分到单独的文件夹中

带有 MySQL 数据库的 Python 网络爬虫

python - 转置多级索引 pandas

ios - 用户默认值不在 swift 3 中保存字典内容

api - 在使用大多数 API 时,为什么它们需要两种类型的身份验证,即 key 和 secret ?