1 回答

TA貢獻1866條經驗 獲得超5個贊
問題 計算 .txt 文件中所有唯一的四個字母單詞。任何帶有撇號的單詞都應該被忽略。忽略單詞的大小寫(即Tool和tool應該只算一個單詞)。打印出(以便用戶可以看到)唯一的四個字母單詞的數量。
根據單詞的最后兩個字母(單詞結尾)劃分四個字母的單詞。數一數這些詞尾你有多少個單詞。
獨特 -> 設置
4 個字母 -> 最好只檢查長度而不是使用正則表達式,正則表達式很慢
忽略帶撇號的單詞 ->
"'" not in word
忽略大小寫 -> 將所有轉換為更低,簡單
根據最后 2 個字母劃分集合 -> 制作一個 dict
result = set()
with open("words.txt") as fd:
for line in fd:
matching_words = {word for word in line.lower().split() if len(word)==4 and "'" not in word}
result.update(matching_words)
print(result)
print(len(result))
line.lower()使整行小寫字母,然后.split()使用默認參數將其拆分為空格。
result_dict = {}
for word in result:
# better to use default dict here but you'll need to read docs for that
result_dict[word[2:]] = result_dict.get(word[2:], []) + [word]
print(result_dict)
print({key: len(value) for key, value in result_dict.items()})
添加回答
舉報