首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何对列表中的项目分别求和?

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

Stack Overflow用户
提问于 2018-07-22 10:03:00
回答 2查看 63关注 0票数 0

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

我有:

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},我应该使用什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-07-22 10:20:22

您只能使用列表理解和set返回计数。

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]]
票数 2
EN

Stack Overflow用户

发布于 2018-07-22 10:04:52

您可以使用collections Counter

from collections import Counter

my_list_of_items = ['a', 'a', 'b']

counter = Counter(my_list_of_items)

---> {'a': 2, 'b': 1}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51461472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档