2017-02-12 148 views
0

我想創建一個程序,我在比較兩個字符串的字符。我試圖讓第二個字符串必須與第一個字符具有相同的字符。比較字典(Python)

所以,如果第一個字符串是"Hello",第二個是"Helloo"它會變成false,但如果第二個字符串是"ello"它將是true。

我在他們自己的字典中都有字符串來計算每個字符的數量。我試圖做到這一點:

if Dictionary1 >= Dictionary2 : 
     print('True') 

我不知道如果我在一個不正確的方式思考這一點,但我不能得到這個工作。我還是比較新的Python,所以如果可能的話,請保持簡單的解釋。謝謝 !

+0

請在這裏發佈相關的代碼,目前還不足以給出具體的答案。你是說你有一本字典,比如'Dictionary1 = {'helloo':6}'?您應該提供[最小,完整和可驗證示例](http://stackoverflow.com/help/mcve)。 – roganjosh

+0

對不起,我把它作爲String1 ='input('Enter Text')String 2 = input('Text')。「然後,每個設置爲一個字典並計算字符數。 – Bill

+0

但這不涉及字典。請在原始問題中編輯足夠的信息,以便我們看到您實際上在做什麼。 – roganjosh

回答

1

使用allcollections.Counter這是您的計數dict一個高性能替代:

> from collections import Counter 

> string_1 = 'hello' 
> string_2 = 'ello' 
> c1, c2 = map(Counter, (string_1, string_2)) 
# c1, c2 = Counter(string_1), Counter(string_2) 
> all(c1[c] >= c2[c] for c in c2) 
True 

你必須確保在string_2每一封信,這封信在string_1計數大於或等於其計數在string_2。你不能只通過比較兩個字典>=

+0

完美,謝謝你的鏈接! – Bill

-1
>>> str1 = "Hello" 
>>> str2 = "ello" 
>>> print (str2 in str1) 
True 
>>> print (str1 in str2) 
False