我正在尝试创建一个函数,该函数返回列表中的项目类型和计数项目。
我有:
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'}
如果我对len
使用count_items
函数,它将返回三个值的总和,例如{1500}
,但是我需要分别使用它们,例如{150, 550, 800}
我该怎么用?
答案 0 :(得分:2)
您可以使用collections Counter
:
from collections import Counter
my_list_of_items = ['a', 'a', 'b']
counter = Counter(my_list_of_items)
---> {'a': 2, 'b': 1}
答案 1 :(得分:2)
您只能通过列表理解和设置来返回计数
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]]