我有两张单子。每个列表都包括单词。有些单词在两个列表中都是通用的,有些则不是。我只想输出20个最常用的单词,但我的代码显示了所有常用单词。我想把范围限制在20。我不允许使用柜台
def countwords(lst):
dct = {}
for word in lst:
dct[word] = dct.get(word, 0) + 1
return dct
count1 = countwords(finallist1)
count2 = countwords(finallist2)
words1 = set(count1.keys())
words2 = set(count2.keys())
common_words = words1.intersection(words2)
for i,w in enumerate (common_words,1):
print(f"{i}\t{w}\t{count1[w]}\t{count2[w]}\t{count1[w] + count2[w]}")
预期产出:
common f1 f2 sum
1 program 5 10 15
2 python 2 4 6
.
.
until 20
您可以使用^{} 中的^{} 来实现这一点:
从^{} documentation 开始:
这里有一个备选方案,可以在不导入任何模块的情况下实现相同的:
请参考上述代码片段中的注释,以了解分步说明
相关问题 更多 >
编程相关推荐