如果直接展开people中的子列表,可能会发现更有意义:people = [ [ 'John', 42 ], [ 'James', 36 ], [ 'Sue', 38 ] ]
ages = []
for person, age in people:
ages.append(age)
avg_age = sum(ages) / len(people)
print "Average age:", avg_age
由于在列表理解中没有使用person,因此可以显式地忽略它:people = [ [ 'John', 42 ], [ 'James', 36 ], [ 'Sue', 38 ] ]
ages = [age for _, age in people]
avg_age = sum(ages) / len(people)
print "Average age:", avg_age
最后,如果你让你的元素之一浮点数,你会得到一个更好的平均值。有一种方法:people = [ [ 'John', 42 ], [ 'James', 36 ], [ 'Sue', 38 ] ]
ages = [age for _, age in people]
avg_age = sum(ages) / float(len(people))
print "Average age:", avg_age
还有一个:people = [ [ 'John', 42 ], [ 'James', 36 ], [ 'Sue', 38 ] ]
ages = [float(age) for _, age in people]
avg_age = sum(ages) / len(people)
print "Average age:", avg_age