2017-02-12 115 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