首页 > 解决方案 > 如何只计算列表中的特定单词?

问题描述

我写了一个函数来确定一个大列表(200,000+)中有多少女性和男性。我如何只计算该列表中的女性?

现在我拥有的是一个只计算列表中单词数量的函数:

genders = [Male, Female, Female, Female, Male, Male, Female, Female]  #This is also saying "name 'Female' is not defined"

def gender(genders):  
        Female = len(genders)  
        return Female  # --> returns 4      

标签: pythonpython-3.x

解决方案


list.count()是处理这个问题的最 Pythonic 的方式,简单易懂。

genders = ['Male', 'Female', 'Female', 'Female', 'Male', 'Male', 'Female', 'Female']
genders.count('Female')
#5

在一个函数中

def count_gender(gender, data):
    return data.count(gender)

count_gender('Male', genders)
#3

count_gender('Female', genders)
#5

在一个循环中

females = 0

for gender in genders:
    if gender == 'Female':
        females += 1

females
#5

推荐阅读