📅  最后修改于: 2023-12-03 14:38:54.923000             🧑  作者: Mango
这是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)。
本题使用字典来存储每个数出现的次数的方法非常巧妙。我们可以尝试将这种思路应用到其他数据处理的问题中。