如何分别对列表中的项目求和



我正在尝试创建一个函数,该函数返回列表中的项类型和计数项。

我有:

def count_items(column_list):
item_types = []
count_items = []
item_types = set(column_list)
print(item_types)
count_items = ????
return item_types, count_items

item_types的返回为:

{'', 'Female', 'Male'}

如果我对count_items使用len函数,它将返回三个值的总和,如{1500},但我需要分别使用它们,如{150, 550, 800}我应该用什么?

您只能通过列表理解和设置返回计数,

def count_items(column_list):
item_types = set(column_list)
return [column_list.count(item) for item in item_types]
column_list=['male','male','','','','female','male','female']

print(count_items(column_list))

输出:

[3, 2, 3]

或者两者都有,

def count_items(column_list):
item_types = set(column_list)
return [[item,column_list.count(item)] for item in item_types]

输出:

[['', 3], ['male', 3], ['female', 2]]

您可以使用collections Counter:

from collections import Counter
my_list_of_items = ['a', 'a', 'b']
counter = Counter(my_list_of_items)
---> {'a': 2, 'b': 1}

最新更新