Skip to main content
 首页 » 编程设计

python之计算给定项目在(排序的)列表中出现的次数

2025年05月04日17lyhabc

我被要求创建一个方法来返回列表中给定项目的出现次数。我知道如何编写代码来查找特定项目,但如何将其编码到计算随机项目出现次数的位置。

例如,如果我有一个 list [4, 6 4, 3, 6, 4, 9] 并且我输入类似的内容

s1.count(4),它应该返回3或者s1.count(6)应该返回2。

虽然我不允许使用和内置函数。

在最近的一次作业中,我被要求统计sub string "ou"在给定字符串中出现的次数,我将其编码

if len(astr) < 2: 
    return 0 
else: 
    return (astr[:2] == "ou")+ count_pattern(astr[1:]) 

这样的东西行得通吗??

def count(self, item): 
    num=0 
    for i in self.s_list: 
        if i in self.s_list: 
            num[i] +=1 
def __str__(self): 
    return str(self.s_list) 

请您参考如下方法:

如果这个列表已经排序,“最有效”的方法——就 Big-O 而言——将是在找到值时使用向前计数/向后计数执行二进制搜索。

但是,对于示例中的未排序 列表,计算出现次数的唯一方法是依次遍历每个项目(或先对其进行排序;-)。这是一些伪代码,请注意它比原始帖子中提供的代码更简单(没有if x in list 或count[x] ):

set count to 0 
for each element in the list: 
   if the element is what we are looking for: 
      add one to count 

快乐编码。