我有一个需要存储在字典中的对象列表。这些对象的一个属性是标题,当我将对象存储在字典中时,这就是我使用的键。我首先处理标题,以便我可以通过删除空格并将其截断为 50 个字符来将其用作键。
但是有些标题很长,前 50 个字符与另一个标题完全相同。正因为如此,钥匙被搞砸了。谁能建议一个更好的方法来做到这一点。我正在考虑以某种方式对标题进行编码然后使用它?
我有一个需要存储在字典中的对象列表。这些对象的一个属性是标题,当我将对象存储在字典中时,这就是我使用的键。我首先处理标题,以便我可以通过删除空格并将其截断为 50 个字符来将其用作键。
但是有些标题很长,前 50 个字符与另一个标题完全相同。正因为如此,钥匙被搞砸了。谁能建议一个更好的方法来做到这一点。我正在考虑以某种方式对标题进行编码然后使用它?
您无需删除空格或截断标题即可将其用作字典键。Python 字典键可以是任何不可变的 Python 类型,str
其中包括(甚至是带有空格和特殊字符的长键)。
只需使用整个标题,或使用哈希对标题进行编码:
>>> import hashlib
>>> hashlib.md5('some random title').hexdigest()
'bc847ea8db214557c611c9b3c2f043b1'
只需散列整个标题。
from hashlib import sha1
sha1('title1').hexdigest()