List không chỉ lưu trữ dữ liệu, còn có thể dùng để tính toán toán học kết hợp với module math hoặc các phép toán trên từng phần tử.
Ví dụ 1: Hàm math cơ bản
import math
data = 21.6
print('Floor của 21.6:', math.floor(data))
Floor của 21.6: 21
Ví dụ 2: Tính trung bình có trọng số (Weighted Average)
cost = [23, 10, 5, 32, 41] weight = [10, 20, 30, 40, 50] weighted_sum = sum(c * w for c, w in zip(cost, weight)) total_weight = sum(weight) weighted_avg = weighted_sum / total_weight print(weighted_avg)
72.84444444444445
Lưu ý: Code gốc có lỗi biến c chưa định nghĩa. Đã sửa dùng zip và generator expression.
Ví dụ 3: Hàm lượng giác với math
import math
degree = 180
radian = math.radians(degree)
print('Radian:', radian)
print('sin:', math.sin(radian))
print('cos:', math.cos(radian))
print('tan:', math.tan(radian))
Radian: 3.141592653589793 sin: 1.2246467991473532e-16 cos: -1.0 tan: -1.2246467991473532e-16
Các hàm math thường dùng
| Hàm | Mô tả |
|---|---|
| ceil(x) | Số nguyên nhỏ nhất ≥ x |
| floor(x) | Số nguyên lớn nhất ≤ x |
| fabs(x) | Giá trị tuyệt đối |
| factorial(x) | Giai thừa |
| fmod(x, y) | Phần dư x/y |
| fsum(iterable) | Tổng chính xác float |
| sqrt(x) | Căn bậc 2 |
| exp(x) | e^x |
| log(x[, base]) | Logarit |
| sin, cos, tan | Lượng giác (radian) |
| radians, degrees | Chuyển đổi độ/radi |
Mẹo: Dùng NumPy cho tính toán nặng
Với dữ liệu lớn, nên dùng NumPy (vectorized operations) thay vì list thuần Python để hiệu năng cao hơn hàng chục lần.