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

Python – Lọc hàng có chứa các phần tử trong khoảng cho trước


Khi cần lọc các hàng (sublist) mà chứa tất cả các số trong một khoảng cho trước, ta dùng list comprehension và toán tử all().

Ví dụ

my_list = [[3, 2, 4, 5, 10], [32, 12, 4, 51, 10], [12, 53, 11], [2, 3, 31, 5, 8, 7]]
print("Danh sách ban đầu:")
print(my_list)
i, j = 2, 5
my_result = [index for index in my_list if all(element in index for element in range(i, j + 1))]
print("Kết quả:")
print(my_result)

Kết quả

Danh sách ban đầu: [[3, 2, 4, 5, 10], [32, 12, 4, 51, 10], [12, 53, 11], [2, 3, 31, 5, 8, 7]]
Kết quả: [[3, 2, 4, 5, 10]]

Giải thích

  • Định nghĩa danh sách lồng nhau và hiển thị.

  • Định nghĩa khoảng [i, j] = [2, 5].

  • Duyệt từng hàng con, kiểm tra all(element in row for element in range(i, j+1)) tức là hàng con phải chứa đủ các số 2,3,4,5.

  • Chỉ hàng đầu tiên thỏa mãn.

  • In kết quả.