给定像"abbbd cbaa“这样的字符串,您将如何确定"b”这样的特定字符出现率最高的单词。我的初始代码:
sample = "abbbd cdda cbaa"
sample_splitter = sample.split()
#sample_splitter is now [abbbd, cdda, cbaa]
for word in sample_splitter:
word.count("b") #this returns the number of occurrences of the char b
max(word.count("b")) #this will return the highest number我一直在搞清楚如何将字母的最高计数和与之相关的数组值关联起来。在这种情况下,应该是"abbbd"
发布于 2012-10-24 10:31:06
如下所示:将max()与str.split()结合使用
>>> strs= "abbbd cdda cbaa"
>>> max(strs.split(),key=lambda x:x.count("b"))
'abbbd'发布于 2020-06-03 09:43:30
collections库包含有用的类Counter,该类也可用于计算集合中最常见的元素。
>>> import collections
>>> sample = "abbbd cdda cbaa"
>>> collections.Counter(sample).most_common(1)
[('a', 4)]注意,参数指定要返回的元素的数量(从最常见到最不常见)--在这种情况下,只需要最常见的元素。
https://stackoverflow.com/questions/13047372
复制相似问题