请编写一个 Python 函数,接收一个列表作为输入,统计列表中每个数字出现的频次,并将结果以字典形式返回。
考察说明
考查 Python 基础编程能力,包括函数定义、字典操作以及循环迭代。
回答思路
- 【回答框架 1】定义函数,参数为列表,初始化空字典。遍历列表中的每个数字,若数字已在字典中,则计数加一,否则设置计数为1。返回字典。
- 【回答框架 2】使用 collections.Counter 可以更简洁地实现,但基础方法更体现原理。Counter 的返回值是字典子类,可直接打印或转换。
- 【回答框架 3】若要求只统计数字类型,需注意列表可能包含非数字元素,但原题未提,默认处理所有元素。
- 【回答框架 4】时间复杂度为 O(n),空间复杂度为 O(n),其中 n 为列表长度。
- 【关键点 1】使用字典存储计数,默认值为0或使用 setdefault。
- 【关键点 2】遍历每个元素,判断是否在字典中。
- 【关键点 3】返回字典对象。