Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Tìm giá trị nhỏ nhất mỗi chỉ mục trong danh sách các danh sách Python

Đôi khi cần tìm giá trị nhỏ nhất của từng phần tử trong danh sách. Khi xử lý ma trận, cần tìm nhỏ nhất mỗi cột, tức tìm nhỏ nhất từ danh sách các danh sách (vì mỗi cột ma trận là một danh sách con).

Dùng min() và zip()

Hàm zip() gom phần tử cùng chỉ mục từ nhiều danh sách thành một danh sách. Sau đó áp dụng min() qua vòng lặp for.

Ví dụ

List = [[90, 5, 46], [71, 33, 2], [9, 13, 70]]
print("List : " + str(List))
result = [min(index) for index in zip(*List)]
print("minimum of each index in List : " + str(result))

Kết quả:

List : [[90, 5, 46], [71, 33, 2], [9, 13, 70]]
minimum of each index in List : [9, 5, 2]

Dùng map(), min() và zip()

Dùng map() và zip() cùng lúc. Kết quả zip() áp dụng cho min(). Thay vòng lặp for bằng map().

Ví dụ

List = [[0.5, 2.4, 7], [5.5, 1.9, 3.2], [8, 9.9, 10]]
print("The list values are: " + str(List))
result = list(map(min, zip(*List)))
print("Minimum of each index in list of lists is : " + str(result))

Kết quả:

The list values are: [[0.5, 2.4, 7], [5.5, 1.9, 3.2], [8, 9.9, 10]]
Minimum of each index in list of lists is : [0.5, 1.9, 3.2]