Menu
CoddyTech

使用数据聚合

本课属于 Coddy Python 学习旅程的“逻辑与流程”单元。第 53 课,共 78 课。

列表推导式提供了一种简洁的方式,可以根据现有的可迭代对象创建新列表。你可以直接在列表推导式中使用 sum()、min() 和 max() 等数据聚合函数,在创建新列表的同时对其中的元素进行计算。

计算平方和:

numbers = [1, 2, 3, 4, 5]
sum_of_squares = sum([n * n for n in numbers])
print(sum_of_squares)
# 输出:55

在这个示例中,列表推导式 [n * n for n in numbers] 会创建一个平方数列表,而 sum() 函数会计算这些平方数的总和。

查找转换后数值中的最小值:

numbers = [-3, -1, 0, 1, 3]
min_absolute = min([abs(n) for n in numbers])
print(min_absolute)
# 输出:0

这里,列表推导式 [abs(n) for n in numbers] 会创建一个绝对值列表,而 min() 函数会找出这个列表中的最小值。

查找筛选后数值中的最大值:

numbers = [1, 2, 3, 4, 5, 6]
max_even = max([n for n in numbers if n % 2 == 0])
print(max_even)
# 输出:6

在这个示例中,列表推导式 [n for n in numbers if n % 2 == 0] 会创建一个偶数列表,而 max() 函数会找出这个列表中的最大值。

challenge icon

挑战

简单

编写一个函数 sum_positive_evens,它接收一个数字列表作为输入。使用列表推导式筛选出正偶数,然后使用 sum() 计算它们的总和。返回结果。

示例输入:

numbers = [-10, -5, 0, 2, 4, 7, 10, 12]

示例输出:

28

亲手试试

def sum_positive_evens(numbers):
    # 在这里编写代码
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

逻辑与流程中的所有课

自己练习: Python 在线编译器