📌  相关文章
📜  8类RD Sharma解决方案–第23章数据处理I(数据的分类和制表)–练习23.2(1)

📅  最后修改于: 2023-12-03 14:38:54.923000             🧑  作者: Mango

8类RD Sharma解决方案–第23章数据处理I(数据的分类和制表)–练习23.2

简介

这是RD Sharma在数据处理的第一本教材中的练习题23.2,其中包含题目,解答和提示。本教材主要讲解数据的分类和制表,通过单元测试方式进行训练。

题目描述

给出一个数据集,列出一张表格,告诉我们数据中每个数出现的次数。

思路提示

题目要求我们统计每个数在数据集中出现的次数。我们可以使用一个字典来存储每个数出现的次数。在遍历数据集时,如果一个数在字典中不存在,就在字典中以这个数为key创建一个新的元素,并将它的value设为1,否则就将这个数的key对应value加1。最后将字典中的每个元素输出即可。

解题思路
def count_numbers(numbers):
    count = {}
    for number in numbers:
        if number in count:
            count[number] += 1
        else:
            count[number] = 1
    return count

numbers = [1, 2, 3, 4, 5, 5, 3, 1, 2, 3, 4, 5, 6]
count = count_numbers(numbers)
for key, value in count.items():
    print(f"{key}: {value}")
复杂度分析

遍历列表的时间复杂度是O(n),如果字典中有n个不同的键,那么对于每个键进行加1操作的时间复杂度是O(1),因此总时间复杂度是O(n)。

总结

本题使用字典来存储每个数出现的次数的方法非常巧妙。我们可以尝试将这种思路应用到其他数据处理的问题中。