如何通过查找常见事件来获取两个 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]
那么,你的字典只包含出现过的单词。是这个问题吗?
我需要知道在意大利语聊天中使用了哪些英语单词,并计算它们被使用了多少次。
但在输出中我也有我在示例聊天中没有使用的词 (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]
那么,你的字典只包含出现过的单词。是这个问题吗?