逐个访问子列表以计算每个列表中变量的出现次数

时间:2015-12-04 19:19:19

标签: python list

我创建了一个列表,其中包含数据文件中的条目,并分成每行的子列表。

[['Susan', 'McDonald', 'rat', 'aries', '34', 'yes', '1', '0'], ['Michael', 'Fox', 'ox', 'taurus', '54', 'yes', '2', '1'], ['Fred', 'Chai', 'tiger', 'gemini', '34', 'yes', '1', '0'], ['Abedin', 'Look', 'rat', 'aries', '23', 'yes', '0', '1'], ['Carlos', 'Pantro', 'ox', 'aries', '18', 'yes', '5', '3'], ['Chang', 'Green', 'ox', 'aries', '29', 'no', '1', '4'], ['Tatiana', 'Zing', 'ox', 'taurus', '33', 'no', '0', '0'], ['Ani', 'Williams', 'rat', 'taurus', '55', 'yes', '0', '1']]

每个列表都包含一个人的姓名,中文&希腊十二生肖,年龄和与该人相关的其他数据。我不确定如何查看子列表,例如,找到所有带有星座的人的平均年龄'。知道我怎么能做到这一点?提前谢谢。

def displayZodiacStats(zodiacSign, sourceList):
    print(zodiacSign, "stats")
    sublists = [sourceList[x:x+8] for x in range(0, len(sourceList), 8)]

    numberOfPeople = sourceList.count(zodiacSign)

sumOfAges = 0
countOfEntries = 0
for aLine in sublists
    entries = 
    countOfEntries = countOfEntries+ 1
    sumOfAges = sumOfAges + int(entries[5])
    print(“Avg. age “ + str(sumOfAges/countOfEntries))

1 个答案:

答案 0 :(得分:0)

你可以这样做(未经测试但应该有效):

age_list

或者获得age_list = [sublist[4] for sublist in sourceList if sublist[2] in zodiacs] 列表的1行方法:

{{1}}