如何通过查找常见事件来获取两个 txt 文件?

How can I get two txt files by finding common occurrences?

我需要知道在意大利语聊天中使用了哪些英语单词,并计算它们被使用了多少次。

但在输出中我也有我在示例聊天中没有使用的词 (baby-blue-eyes': 0)

english_words = {}

with open("dizionarioen.txt") as f:
for line in f:
  for word in line.strip().split():
    english_words[word] = 0
    
with open("_chat.txt") as f:
for line in f:
  for word in line.strip().split():
    if word in english_words: 
      english_words[word] += 1

print(english_words)

您可以简单地遍历结果并删除所有值为 0 的元素:

english_words = {}

with open("dizionarioen.txt") as f:
  for line in f:
    for word in line.strip().split():
      english_words[word] = 0

with open("_chat.txt") as f:
  for line in f:
    for word in line.strip().split():
      if word in english_words: 
        english_words[word] += 1

result = {key: value for key, value in english_words.items() if value}
print(result)

这里还有另一个解决方案,可以让您使用 Counter 来计算字数:

from collections import Counter

with open("dizionarioen.txt") as f:
    all_words = set(word for line in f for word in line.split())

with open("_chat.txt") as f:
    result = Counter([word for line in f for word in line.split() if word in all_words])

print(result)

如果要删除索引后没有出现的词,只需删除这些条目:

for w in list(english_words.keys()):
    if english_words[w]==0: del english_words[w]

那么,你的字典只包含出现过的单词。是这个问题吗?