我正在尝试创建一个函数,该函数返回列表中的项类型和计数项。
我有:
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}