我必须打开一个文本文件并找到字符的频率,然后通过使用字典,我设法得到带有字母和频率以及数字和频率的字典。问题是我必须只打印频率最高的大写字母和频率,频率最高的数字。我尝试了每个 if 语句,但它似乎不起作用。
例如:dictionary = {l:1, b: 6, A:5, 2:1, 5:3} 它打印(“最常用的大写字母是:A 并使用了 5 次。)
我必须打开一个文本文件并找到字符的频率,然后通过使用字典,我设法得到带有字母和频率以及数字和频率的字典。问题是我必须只打印频率最高的大写字母和频率,频率最高的数字。我尝试了每个 if 语句,但它似乎不起作用。
例如:dictionary = {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)