首页 > 解决方案 > collection Counter - 如何消除单词中的计数字符“'”

问题描述

我写了一个脚本来查找文件/字典中最长的单词。但是在英语中使用撇号“'”,我想跳过计算它。

from collections import Counter
import time

words = open('english').read().splitlines()

time_before = time.time()

k = Counter(words)

longest = max(k, key=len)
print('The longest word in Dictionary is:', longest, 'has' , len(longest), 'characters')

time_after = time.time()
time_taken = time_after - time_before
print ( 'Longest word found in: ' , time_taken)
print(".......................")

标签: pythonpython-3.xcounter

解决方案


替换您用于的密钥max()

longest = max(k, key=lambda s:len(letter for letter in s if letter != "'"))

您当然可以自定义此解决方案以排除更多字母,或仅包含特定内容等。


推荐阅读