我是python新手,我想使用字典来计算x中的项目数。
x = [1,2,1,4,3,2,5,9]
def counts(my_list):
counts = dict()
for item in my_list:
counts[x] = counts.get(item,0)+1
return counts
counts(x)
任何帮助完成这项工作的帮助都将受到感谢!
答案 0 :(得分:0)
您应该使用counts.setdefault(item, 0)
将默认值设置为0,然后为每个项目以counts[item] += 1
递增。
您还可以使用collections.Counter
类,做到这一点。
import collections
c = collections.Counter(your_array)
答案 1 :(得分:0)
如果您试图在列表中查找每个元素计数。以下解决方案会有所帮助。
class InstructorSerializer(serializers.ModelSerializer):
courses = CourseSerializer(
queryset=Course.objects.order_by('...'),
many=True,
read_only=True,
)
答案 2 :(得分:0)
您还可以:
def counts(my_list):
counts= {}
for item in x:
counts[item] = x.count(item)
return counts
print(counts(x))
或者和它一起玩吧:
def counts(my_list):
counts = {item: x.count(item) for item in x}
return counts
print(counts(x))
输出
(xenial)vash@localhost:~/python/stack_overflow$ python3.7 list_dict.py {1: 2, 2: 2, 4: 1, 3: 1, 5: 1, 9: 1}