我是python的初学者。我正在阅读以下代码:
people = [ [ 'John', 42 ], [ 'James', 36 ], [ 'Sue', 38 ] ]
ages = []
for person in people:
age = person[1]
ages.append(age)
avg_age = sum(ages) / len(people)
print "Average age:", avg_age
问题:
ages =[ ]
是什么意思? age = people[1]
是什么意思? ages.append(age)
是什么意思?答案 0 :(得分:0)
如果直接在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
你可以使用list comprehension:
people = [ [ 'John', 42 ], [ 'James', 36 ], [ 'Sue', 38 ] ]
ages = [age for person, age in people]
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
答案 1 :(得分:0)
ages=[]
表示您已创建名为ages的空列表。该列表中没有元素。
age=person[1]
是一个赋值,您可以将第一个元素的值分配给年龄。
ages.append(age)
将值年龄附加到年龄列表中。 现在,当您打印列表年龄时,您可以看到年龄的值附加到它。
ages=[]
ages.append(3)
ages.append(4)
print ages
将产生
的输出[3,4]
答案 2 :(得分:0)
年龄= []是什么意思? 这是一个空列表,需要先创建才能插入值。
年龄=人[1]是什么意思? 这意味着只需要阅读字典中的第一个占位符。
ages.append(年龄)是什么意思? 这意味着将每个词典条目的年龄值放入年龄列表中。
答案 3 :(得分:0)
ages =[ ] # creating an empty list
age = people[1] # is assigning the value of first element of your list(people)
ages.append(age) # you are adding the value of age to your second list (ages)
我建议你阅读python的基本教程,其中有一些示例,所以你可以自己练习并使用列表来理解它的不同方法的行为。