我想使用像「順序無關緊要的字符」之類的東西作爲在Python中構建字典的關鍵。什麼可以用Python替換元組(排序(my_string))?
像「abc」和「cba」可以給我相同的散列索引,「aab」和「ab」給我不同的散列索引。
我發現一種方法是使用tuple(sorted(my_string))
來散列字符列表,但它可能需要O(NlogN)時間複雜度。
我試過使用Counter
,但它不可散列。 Frozenset
是可散列的,但它不允許重複。
是否有更好的方法(O(N)時間複雜度)來代替tuple(sorted(my_string))
?
如果上面有錯誤,請糾正我。謝謝!
只需使用'''.join(sorted(my_string))'。元組是不必要的。 O(N log N)算法沒有問題 - 許多算法都是O(N log N),但我們仍然使用它們。 –
什麼是'triple'?你的意思是'元組'嗎? – interjay
@interjay對不起,這是一個錯字。是的,我的意思是'tuple' –