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()})
添加回答
举报