Python |统计字符串中某个字符的出现次数
给定一个字符串,任务是计算该字符串中单个字符的频率。这种对字符串的特殊操作在许多应用程序中非常有用,例如删除重复或检测不需要的字符。
方法#1 : 幼稚方法
迭代该特定字符的整个字符串,然后在遇到该特定字符时增加计数器。
# Python3 code to demonstrate
# occurrence frequency using
# naive method
# initializing string
test_str = "GeeksforGeeks"
# using naive method to get count
# counting e
count = 0
for i in test_str:
if i == 'e':
count = count + 1
# printing result
print ("Count of e in GeeksforGeeks is : "
+ str(count))
输出:
Count of e in GeeksforGeeks is : 4
方法 2 : 使用count()
使用count()
是 Python 中获取任意容器中任意元素的出现最常规的方法。这很容易编码和记忆,因此很受欢迎。
# Python3 code to demonstrate
# occurrence frequency using
# count()
# initializing string
test_str = "GeeksforGeeks"
# using count() to get count
# counting e
counter = test_str.count('e')
# printing result
print ("Count of e in GeeksforGeeks is : "
+ str(counter))
输出:
Count of e in GeeksforGeeks is : 4
方法 3 : 使用collections.Counter()
这是在 Python 中跨任何容器获取元素出现的一种不太为人所知的方法。这也执行类似于上面两个方法的任务,只是一个不同的库即集合的功能。
# Python3 code to demonstrate
# occurrence frequency using
# collections.Counter()
from collections import Counter
# initializing string
test_str = "GeeksforGeeks"
# using collections.Counter() to get count
# counting e
count = Counter(test_str)
# printing result
print ("Count of e in GeeksforGeeks is : "
+ str(count['e']))
输出:
Count of e in GeeksforGeeks is : 4
方法 4 : 使用λ+sum()
+map()
Lambda 函数与sum()
和 map()
一起可以实现统计字符串中特定元素的总出现次数的特定任务。这使用 sum()
来总结使用 map()
获得的所有事件。
# Python3 code to demonstrate
# occurrence frequency using
# lambda + sum() + map()
# initializing string
test_str = "GeeksforGeeks"
# using lambda + sum() + map() to get count
# counting e
count = sum(map(lambda x : 1 if 'e' in x else 0, test_str))
# printing result
print ("Count of e in GeeksforGeeks is : "
+ str(count))
输出:
Count of e in GeeksforGeeks is : 4
方法 5 : 使用re + findall()
正则表达式可以帮助我们完成许多与字符串相关的编码任务。它们还可以帮助我们完成查找字符串中元素出现的任务。
# Python3 code to demonstrate
# occurrence frequency using
# re + findall()
import re
# initializing string
test_str = "GeeksforGeeks"
# using re + findall() to get count
# counting e
count = len(re.findall("e", test_str))
# printing result
print ("Count of e in GeeksforGeeks is : "
+ str(count))
输出:
Count of e in GeeksforGeeks is : 4
版权属于:月萌API www.moonapi.com,转载请注明出处