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

Python - Tìm hàng có chênh lệch nhỏ nhất giữa giá trị lớn nhất và nhỏ nhất


Tìm hàng (sublist) trong ma trận mà chênh lệch giữa max và min của hàng đó là nhỏ nhất. Sử dụng list comprehension, min() và max().

Ví dụ

Minh họa:

my_list = [[41, 1, 38], [25, 33, 1], [13, 44, 65], [1, 22]]
print("Ma trận:", my_list)
my_min_val = min([max(elem) - min(elem) for elem in my_list])
my_result = [elem for elem in my_list if max(elem) - min(elem) == my_min_val]
print("Hàng có chênh lệch nhỏ nhất:", my_result)

Kết quả

Ma trận: [[41, 1, 38], [25, 33, 1], [13, 44, 65], [1, 22]]
Hàng có chênh lệch nhỏ nhất: [[1, 22]]

Giải thích

  • Tính chênh lệch max-min cho mỗi hàng, lấy min của các chênh lệch đó -> my_min_val.
  • Lọc các hàng có chênh lệch bằng my_min_val.