python - 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(".......................")
解决方案
替换您用于的密钥max()
:
longest = max(k, key=lambda s:len(letter for letter in s if letter != "'"))
您当然可以自定义此解决方案以排除更多字母,或仅包含特定内容等。
推荐阅读
- python - 无法安装 SRC - Linux
- python - 将字典应用于文本数据
- javascript - 角 5 | 在表单中显示 xml 通用文件的最佳方式是什么?
- google-cloud-platform - 谷歌云存储上静态文件的 Gzip 压缩会破坏网站
- sphinx - Sphinx Snippet 函数出错?
- android - 搜索栏小部件定制设计?
- excel - 将表格数据转换为字幕文本文件格式 (.srt) UTF-8
- java - 每次打印的 IvParameterSpec 值不同
- c# - WriteableBitmap 中的像素偏移
- gulp - 咕噜SRC | 负片没有按预期工作