创建字典键的更好方法

时间:2012-05-14 16:01:23

标签: python

我有一个我需要存储在字典中的对象列表。这些对象的属性是title,当我将对象存储在字典中时,这就是我使用的键。我首先处理标题,以便我可以通过删除空格并将其截断为50个字符来将其用作键。

然而,有些标题很长,前50个字符与另一个标题完全相同。因此,钥匙被搞砸了。任何人都可以建议一个更好的方法来做到这一点。我正在考虑以某种方式编码标题然后使用它?

2 个答案:

答案 0 :(得分:6)

您无需删除空格或截断标题即可将其用作字典键。 Python字典键可以是任何不可变的Python类型,其中包括str(甚至是带有空格和特殊字符的长类型)。

只需使用整个标题,或使用哈希值编码标题:

>>> import hashlib
>>> hashlib.md5('some random title').hexdigest()
'bc847ea8db214557c611c9b3c2f043b1'

答案 1 :(得分:1)

只需哈希整个标题。

from hashlib import sha1
sha1('title1').hexdigest()