# 统计列表中每个元素的频次
list = ['A','B','C','A','A','B','A','B','C','C','C','C']
dict = {}
# set构造集合对象,实现列表的去重
for i in set(list):
dict[i] = list.count(i)
# 取出键值对
key_value = list(dict.items())
print(key_value)
运行时报错:
TypeError Traceback (most recent call last)
<ipython-input-13-5d275b3b1244> in <module>
6 dict[i] = list.count(i)
7 # 取出键值对
----> 8 key_value = list(dict.items())
9 print(key_value)
TypeError: 'list' object is not callable
错误原因:
1. 变量名list、dict与关键字list、dict重复,将变量名修改为list1、dict1;
# 统计列表中每个元素的频次
list1 = ['A','B','C','A','A','B','A','B','C','C','C','C']
dict1 = {}
# set构造集合对象,实现列表的去重
for i in set(list1):
dict1[i] = list1.count(i)
# 取出键值对
key_value = list(dict1.items())
print(key_value)
# 输出结果为:
# [('B', 3), ('A', 4), ('C', 5)]
2. 修改变量名后,仍然报错,排除中文标点符号的错误;
3. 上述2步错误修改完毕,仍然报错,考虑缓存问题,重启jupyter notebook后解决。