Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
仅打印最频繁的大写字母、数字和python_Python_If Statement_Dictionary_Key - Fatal编程技术网

仅打印最频繁的大写字母、数字和python

仅打印最频繁的大写字母、数字和python,python,if-statement,dictionary,key,Python,If Statement,Dictionary,Key,我必须打开一个文本文件,然后找到字符的频率 通过使用字典,我设法得到了字母和频率以及数字和频率的字典。 问题是我必须只打印使用频率最高的字母和频率最高的数字。 我尝试了每个if语句,但似乎都不起作用 例:字典={l:1,b:6,A:5,2:1,5:3} 它打印(“最常用的大写字母是:A,使用了5次)。使用和: 列表理解或生成器表达式也很有用 >>> dic = {'l': 1, 'b': 6, 'A': 5, '2':1, 'B': 2, '5': 3} >>>

我必须打开一个文本文件,然后找到字符的频率 通过使用字典,我设法得到了字母和频率以及数字和频率的字典。 问题是我必须只打印使用频率最高的字母和频率最高的数字。 我尝试了每个if语句,但似乎都不起作用

例:字典={l:1,b:6,A:5,2:1,5:3} 它打印(“最常用的大写字母是:A,使用了5次)。

使用和:


列表理解或生成器表达式也很有用

>>> dic = {'l': 1, 'b': 6, 'A': 5, '2':1, 'B': 2, '5': 3}
>>> upper_words = ((word, frequency) for word, frequency in dic.iteritems() if word.isupper())
>>> more_frequently = lambda x1, x2: x2 if x2[1] > x1[1] else x1
>>> reduce(more_frequently, upper_words)
('A', 5)

到目前为止,您的代码看起来如何?看起来还可以,但我更希望使用if语句来解决此问题。@user2745401,为什么要使用
if
的解决方案?
>>> dic = {'l': 1, 'b': 6, 'A': 5, '2':1, 'B': 2, '5': 3}
>>> upper_words = ((word, frequency) for word, frequency in dic.iteritems() if word.isupper())
>>> more_frequently = lambda x1, x2: x2 if x2[1] > x1[1] else x1
>>> reduce(more_frequently, upper_words)
('A', 5)