假设我有一个巨大的 .txt
充满随机字符的文件,我想找出“稀有字符”。 Python 中是否有一些模块(实际上是什么)(可能是版本 3.x
,但我也有一台机器使用 Python 2.7
,以防它更好)为此目的编写?如果是肯定的答案,我在哪里可以找到其功能的一些基本解释?非常感谢。
原文由 EM90 发布,翻译遵循 CC BY-SA 4.0 许可协议
假设我有一个巨大的 .txt
充满随机字符的文件,我想找出“稀有字符”。 Python 中是否有一些模块(实际上是什么)(可能是版本 3.x
,但我也有一台机器使用 Python 2.7
,以防它更好)为此目的编写?如果是肯定的答案,我在哪里可以找到其功能的一些基本解释?非常感谢。
原文由 EM90 发布,翻译遵循 CC BY-SA 4.0 许可协议
要在文本中找到 10 个最稀有的字符:
from collections import Counter
rarest_chars = Counter(text).most_common()[-10:]
为简单起见,“字符”在这里表示 Unicode 代码点:它表示 "a"
和 "A"
被视为 不同的 字符。这意味着 u'g̈'
(U+0067 U+0308) 被认为是 两个 字符。在相关问题中查看这些问题是如何处理的: Most common character in a string 。
counter.most_common()[-10:]
could be written more efficiently using heapq.nsmallest(10, counter.items(), key=itemgetter(1))
: .items()
returns pairs (character, its_count)
and key=itemgetter(1)
extracts the counts so that 10
返回计数最少的对。
原文由 jfs 发布,翻译遵循 CC BY-SA 3.0 许可协议
4 回答4.4k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.5k 阅读✓ 已解决
1 回答3.8k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
2 回答1.9k 阅读✓ 已解决
输出