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