Computer >> Máy Tính >  >> Lập trình >> Python

Tìm tối thiểu của mỗi chỉ mục trong danh sách các danh sách bằng Python

Trong một số bài toán, chúng ta cần xác định giá trị tối thiểu của mỗi phần tử trong danh sách. Nhưng khi giải các phép toán ma trận, chúng ta cần tìm giá trị nhỏ nhất của mỗi cột trong ma trận. Điều đó cần chúng tôi tìm giá trị nhỏ nhất từ ​​danh sách các danh sách. Bởi vì mỗi cột của ma trận là một danh sách các danh sách.

Sử dụng min () và zip ()

Trong ví dụ dưới đây, chúng tôi sử dụng min () và zip (). Ở đây, hàm zip () tổ chức các phần tử ở cùng một chỉ mục từ nhiều danh sách thành một danh sách duy nhất. Sau đó, chúng tôi áp dụng hàm min () cho kết quả của hàm zip bằng cách sử dụng vòng lặp for.

Ví dụ

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

Chạy đoạn mã trên cho chúng ta kết quả sau:

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

Sử dụng map (), min () và zip ()

Chúng ta cũng có thể sử dụng map () và zip () với nhau theo cách tiếp cận tương tự như trên. Ở đây chúng ta có kết quả của zip () được áp dụng cho min (). Thay cho vòng lặp for, chúng tôi sử dụng map () cho mục đích này.

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))
# using min() + map() + zip()
result = list(map(min, zip(*List)))
#result
print("Minimum of each index in list of lists is : " + str(result))

Chạy đoạn mã trên cho chúng ta kết quả sau:

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]