文件中有一行,你需要找到这行中重复频率最高的 3 个元素。起初,我想从字符串中创建一个列表并应用 sort() 或 sorted() 方法,并将使用 count() 的 lambda 函数放入 key= value,但没有成功。现在我决定换一种方式,对字符串使用 for 循环,但有些东西也行不通。如果您知道,请告诉我如何使用 lambda 对列表进行排序以找到 3 个最常重复的元素以及如何修复下面的代码。
def fdx_1 ():
with open('tecst.txt') as o:
nom = []
pe = o.read()
for i in range(len(pe)):
try:
if pe.count(pe[i]) > pe.count(pe[i + 1]):
nom.append(pe[i])
except IndexError:
break
return nom
要查找文件中的前三个字符(Unicode 代码点),您可以
collections.Counter使用:您制作一个直方图(dict),其中键是列表的元素,值是它们的编号