gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 08:19:32 24 4
gpt4 key购买 nike

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

例如,如果我有一个 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 listcount[x] ):

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

快乐编码。

关于python - 计算给定项目在(排序的)列表中出现的次数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8059194/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com