1

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

但是有些标题很长,前 50 个字符与另一个标题完全相同。正因为如此,钥匙被搞砸了。谁能建议一个更好的方法来做到这一点。我正在考虑以某种方式对标题进行编码然后使用它?

4

2 回答 2

6

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

只需使用整个标题,或使用哈希对标题进行编码:

>>> import hashlib
>>> hashlib.md5('some random title').hexdigest()
'bc847ea8db214557c611c9b3c2f043b1'
于 2012-05-14T16:04:57.130 回答
1

只需散列整个标题。

from hashlib import sha1
sha1('title1').hexdigest()
于 2012-05-14T16:12:09.637 回答