2012-12-02 29 views
1

我有兩個字典對應於兩個不同字符串的字符數。我想檢查它們是否由相同的字符組成,不管字符的頻率如何,檢查兩個字符串是否包含相同的字符,不考慮其頻率


說,我有兩個字符串caarsracs 它們由同一的字符a,c,r,s


我知道cmp方法來比較兩個庫,這也比較兩個鍵 - 值對。但我不想比較它們的價值或數量。


爲了以防萬一,你可能會問,爲什麼我對這兩個字符串都有字典。那麼,我確實需要解決問題的其他部分。所以,爲什麼不使用它們。


我該如何在python中快速執行此操作?

+0

似乎你有每個字符串的字典;例如:'caars = {'a':2,'c':1,'r':1,'s':1}',這是真的嗎?你有沒有原始的字符串呢?如果你有原始字符串,那麼'set'答案是最好的方法。 – MostafaR

回答

7

您想使用set

In [32]: str1 = 'caars' 

In [33]: str2 = 'rats' 

In [34]: set(str1) == set(str2) 
Out[34]: False 

In [35]: str3 = 'racs' 

In [36]: set(str1) == set(str3) 
Out[36]: True 
+0

由於您使用了'dict',所以您可以直接使用'dict.viewkeys()'(python 2.x)或'dict.keys()'(python 3.x)進行比較。 –

+0

的確,我錯過了那小部分。 – acjay

相關問題