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

Loại bỏ Tuple khỏi List nếu mọi phần tử đều là None trong Python


Khi cần loại bỏ các tuple khỏi danh sách tuple mà trong đó mọi phần tử đều là None, ta có thể sử dụng list comprehension.

Ví dụ

my_list = [(2, None, 12), (None, None, None), (23, 64), (121, 13), (None,), (None, 45, 6)]
print("Danh sách ban đầu:")
print(my_list)

my_result = [sub for sub in my_list if not all(elem is None for elem in sub)]
print("Đã loại bỏ tuple toàn None, kết quả:")
print(my_result)

Kết quả

Danh sách ban đầu: [(2, None, 12), (None, None, None), (23, 64), (121, 13), (None,), (None, 45, 6)]
Đã loại bỏ tuple toàn None, kết quả: [(2, None, 12), (23, 64), (121, 13), (None, 45, 6)]

Giải thích

  • Một danh sách tuple được định nghĩa và hiển thị.

  • List comprehension duyệt qua danh sách.

  • Điều kiện all(elem is None for elem in sub) kiểm tra xem tuple có toàn None không.

  • Nếu toàn None, tuple bị lọc ra (loại bỏ).

  • Dữ liệu còn lại gán vào biến và hiển thị.