首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我有一个经过排序的列表,我想不使用count()函数来计算每个数字出现的次数

您好!根据您的需求,我将为您提供一个完善且全面的答案。

要计算一个经过排序的列表中每个数字出现的次数,您可以使用循环遍历列表的方式来实现,而不使用count()函数。下面是一个示例代码:

代码语言:python
代码运行次数:0
复制
def count_occurrences(sorted_list):
    result = {}
    current_num = None
    count = 0

    for num in sorted_list:
        if num == current_num:
            count += 1
        else:
            if current_num is not None:
                result[current_num] = count
            current_num = num
            count = 1

    # 处理最后一个数字
    if current_num is not None:
        result[current_num] = count

    return result

这段代码中,我们使用了一个字典 result 来保存每个数字出现的次数。我们还使用了两个变量 current_numcount,分别用于记录当前数字和当前数字的出现次数。

在循环遍历列表时,我们首先检查当前数字是否与上一个数字相同。如果相同,则将计数器 count 加一;如果不同,则将上一个数字及其出现次数添加到字典 result 中,并更新 current_numcount

最后,我们还需要处理最后一个数字,因为循环结束后无法再触发“不同数字”的条件。因此,我们在循环结束后再次检查 current_num 是否为 None,如果不为 None,则将最后一个数字及其出现次数添加到字典 result 中。

这样,最终的结果将会是一个字典,其中键为列表中的数字,值为该数字在列表中出现的次数。

这种方法的时间复杂度为 O(n),其中 n 是列表的长度。相比使用count()函数,这种方法更高效。

希望这个答案能够满足您的需求!如果您还有其他问题,欢迎继续提问。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券