Python中的求和计算

时间:2015-12-14 12:36:47

标签: python python-3.x

我列出了一个国家和地区的地区

离。

regions = [
    (region1, 300000),
    (region2, 452345),
    (region3, 454355),
    (region4, 543535),
    (region5, 2323445)
]

演习说我必须通过总结这些地区的所有人口来计算该国的人口。他们告诉我这是一个清单,但该怎么做?

2 个答案:

答案 0 :(得分:1)

这很简单:

regions=[('region1', 300000),('region2', 452345),('region3', 454355),('region4',543535),('region5', 2323445)]
result = sum((r[1] for r in regions))

答案 1 :(得分:1)

elzell提供的答案可以解决问题,但要解决看似问题根源的问题:

  • 对象regions是一个列表,但它不是数字列表;它是一个元组列表。
  • 这意味着您无法直接对每个地区的人口进行求和。
  • 要获得某个地区的人口,必须先

    • 确定您感兴趣的地区;这是您要选择的列表的索引。然后,
    • 获取该地区的人口;这是元组的第二个字段。例如,要获得'region3'

      的人口

      region3_population = regions[2][1]

    这是有效的,因为region3是regions列表的第三个元组(索引2),而population是区域信息元组的第二个元素(索引1)。

elzell给出的答案使用了一个生成器

(r[1] for r in regions)

给出每个区域元组的第二个元素(对应于总体),它产生所有种群的序列。这可以用您习惯使用sum()的数字列表的方式求和。