具有不同解决方案的简单编码任务。我们想计算一行或文件中有多少个独特的单词。在这种情况下,我们将使用 python。
第一次尝试让我们从一个简短但不正确的答案开始。如果 input_lines 是一个数组或一组项目,它将返回所有非唯一项目的数量。
unique_word_count = len(input_lines)使用正则表达式
然后我们尝试将单词与行分开并计算它们。在这种情况下,我们将确保我们只计算真实的单词,但我们仍然会计算任何不唯一的单词。
import re
input_lines = ["Mary","had", "a","little", "lamb"]
WORD_PATTERN = "[a-z-A-Z]*"
selected_words = []
for word in input_lines:
if len(word) > 1 and re.match(WORD_PATTERN, word).endpos > 0:
selected_words.append(word)
unique_count = len(selected_words)
只需稍作修正即可获得正确的结果。在这种情况下,计数器将为我们完成这项工作。
from collections import Counter unique_count = len(Counter(selected_words).items())带计数器和不带正则表达式
而且我们也可以在没有 regex 库的情况下重用之前的解决方案。
from collections



