迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

Python 中查找字符串中出现次数最多的字符

作者:迹忆客 最近更新:2023/01/26 浏览次数:

Python 中要查找字符串中出现次数最多的字符:

  1. 使用 collections.Counter() 类创建一个计数器对象。
  2. 使用 most_common() 方法获取字符串中出现频率最高的字符。
from collections import Counter

string = 'aaabbc'


counter = Counter(string)

# ✅ Find most frequent character in string
most_frequent = counter.most_common(1)[0]
print(most_frequent)  # 👉️ ('a', 3)

print(most_frequent[0])  # 👉️ 'a'

# ✅ Find N most frequent characters in string

most_frequent_2 = counter.most_common(2)
print(most_frequent_2)  # 👉️ [('a', 3), ('b', 2)]

我们使用 collections.Counter 类来计算每个字符的出现次数。

collections 模块中的 Counter 类是 dict 类的子类。

该类基本上是键数对的映射。

from collections import Counter

string = 'aaabbc'


counter = Counter(string)
print(counter)  # 👉️ Counter({'a': 3, 'b': 2, 'c': 1})

Counter 对象实现了 most_common() 方法,该方法返回 N 个最常见元素的列表及其从最常见到最少的计数。

from collections import Counter

string = 'aaabbc'


counter = Counter(string)
print(counter)  # 👉️ Counter({'a': 3, 'b': 2, 'c': 1})

most_frequent = counter.most_common(1)[0]
print(most_frequent)  # 👉️ ('a', 3)

print(most_frequent[0])  # 👉️ 'a'

Python 索引是从零开始的,因此列表中的第一项的索引为 0,最后一项的索引为 -1 或 len(my_list) - 1

如果没有向 most_common 方法提供参数,它会列出所有字符数。

该方法返回一个元组列表,其中第一个元素是字符,第二个元素是出现次数。

我们还可以使用此方法获取字符串中最常见的 N 个字符。

from collections import Counter

string = 'aaabbc'


counter = Counter(string)
print(counter)  # 👉️ Counter({'a': 3, 'b': 2, 'c': 1})

most_frequent_2 = counter.most_common(2)
print(most_frequent_2)  # 👉️ [('a', 3), ('b', 2)]

我们将 2 作为参数传递给 most_common() 方法,因此它返回字符串中最常见的 2 个字符。

或者,我们可以使用 max() 函数。

使用 max() 查找字符串中出现频率最高的字符

要查找字符串中出现次数最多的字符:

  1. 使用 max() 函数。
  2. 将 key 参数传递给函数。
  3. 使用 str.count() 方法计算每个字符的出现次数。
  4. max() 函数将返回最常见的字符。
string = 'aaabbc'

most_common = max(set(string), key=string.count)

print(most_common)  # 👉️ 'a'

我们使用 max() 函数来获取字符串中最常见的字符。

max() 函数返回可迭代对象中的最大项或两个或多个参数中最大的一个。

my_list = [15, 45, 30]

result = max(my_list)

print(result)  # 👉️ 45

max 函数也有一个可选的键参数。

key 参数指定一个单参数排序函数。

我们使用 set() 类将字符串转换为集合对象以删除任何重复项。

你可以想象:

  1. 集合中的每个元素都会调用 str.count() 方法。
  2. 该方法返回字符在字符串中出现的次数。
  3. max() 函数返回最常见的字符。
string = 'aaabbc'

most_common = max(set(string), key=string.count)

print(most_common)  # 👉️ 'a'

str.count 方法返回字符串中子字符串的出现次数。

print('jiyik'.count('i'))  # 👉️ 2
print('jiyik'.count('l'))  # 👉️ 0

或者,我们可以使用 statistics.mode() 方法。

使用 statistics.mode() 查找字符串中出现频率最高的字符

使用 statistics.mode() 方法查找字符串中出现频率最高的字符,例如 most_common = mode(string)mode() 方法返回提供的可迭代对象中最常见的单个值。

from statistics import mode

string = 'aaabbc'

most_common = mode(string)

print(most_common)  # 👉️ 'a'

statistics.mode 方法接受一个可迭代对象并返回可迭代对象中最常见的值。

如果有多个值具有相同的频率,则该方法返回第一个遇到的值。

如果提供的可迭代对象为空,则该方法会引发 StatisticsError 异常。

在 Python v3.8 之前,如果可迭代对象中没有最常见的元素,则 statistics.mode() 方法会引发 StatisticsError 异常,例如 如果前两个出现的次数相同。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Python for 循环中的下一项

发布时间:2023/04/26 浏览次数:179 分类:Python

本文讨论了 Python 中的 for 循环以及如何通过使用 for 循环和示例来跳过列表的第一个元素。

Python While 循环用户输入

发布时间:2023/04/26 浏览次数:148 分类:Python

我们可以在 while 循环中使用 input() 函数来输入数据,直到在 Python 中满足某个条件。

Python 中的整数规划

发布时间:2023/04/26 浏览次数:193 分类:Python

本文介绍了整数规划和可用于解决混合整数规划问题的 Python 工具。

在 Python 中将整数转换为罗马数字

发布时间:2023/04/26 浏览次数:87 分类:Python

本篇文章将介绍在 Python 中将整数转换为罗马数字。以下是一个 Python 程序的实现,它将给定的整数转换为其等效的罗马数字。

在 Python 中将罗马数字转换为整数

发布时间:2023/04/26 浏览次数:144 分类:Python

本文讨论如何在 Python 中将罗马数字转换为整数。 我们将使用 Python if 语句来执行此操作。 我们还将探讨在 Python 中将罗马数字更改为整数的更多方法。

在 Python 中读取 gzip 文件

发布时间:2023/04/26 浏览次数:70 分类:Python

本篇文章强调了压缩文件的重要性,并演示了如何在 Python 中使用 gzip 进行压缩和解压缩。

在 Python 中锁定文件

发布时间:2023/04/26 浏览次数:141 分类:Python

本文解释了为什么在 Python 中锁定文件很重要。 这讨论了当两个进程在没有锁的情况下与共享资源交互时会发生什么的示例,为什么在放置锁之前知道文件状态很重要,等等

在 Python 中将 PDF 转换为文本

发布时间:2023/04/26 浏览次数:196 分类:Python

在本教程中,我们将学习如何使用 Python 使用 PyPDF2、Aspose 和 PDFminer 将 PDF 文档转换为文本文件。

在 Python 中创建临时文件

发布时间:2023/04/26 浏览次数:53 分类:Python

本文讲解了tempfile库函数的四个子函数:TemporaryFile、NamedTemporaryFile、mkstemp、TemporaryDirectory。 每个部分都提供了适当的程序,以简化对概念的理解。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便