首页 > 解决方案 > 如何计算列表中特定项目的数量?Python3

问题描述

下面的代码将允许用户在列表中输入指定数量的人。每个人都有三个属性:姓名、性别和年龄。代码应该计算列表中“m”字符的数量并计算列表中“f”字符的数量,但是当你到达计数行时会出错。我将如何解决这个问题?

    list1 = []
    person = dict()
    n = int(input("Enter number of elements: "))
    for i in range(0, n):
        print ("Enter information :")
        person[i] = input("Enter name: "), input("Enter sex (m or f): "), input("Enter age: ")
        list1.append(person[i])
        i = i + 1
    print (list1)
    print ("Number of males = " + list1.count('m'))
    print ("Number of females = " + list1.count('f'))

标签: pythonlistcount

解决方案


尝试这个:

print("Number of males = " + str([i[1] for i in list1].count("m")))
print("Number of females = " + str([i[1] for i in list1].count('f')))

推荐阅读