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

Python – Lọc hàng không chứa chuỗi có khoảng trắng

Khi cần lọc các hàng không chứa chuỗi có khoảng trắng, ta dùng list comprehension, biểu thức chính quy (regex), toán tử not và phương thức any().

Ví dụ

import re

my_list = [["python is", "fun"], ["python", "good"], ["python is cool"], ["love", "python"]]
print("Danh sách là:")
print(my_list)

my_result = [row for row in my_list if not any(bool(re.search(r"\s", element)) for element in row)]
print("Danh sách kết quả:")
print(my_result)

Kết quả đầu ra

Danh sách là:
[['python is', 'fun'], ['python', 'good'], ['python is cool'], ['love', 'python']]
Danh sách kết quả:
[['python', 'good'], ['love', 'python']]

Giải thích

  • Import module re cho regex.
  • Duyệt từng hàng, dùng any() kiểm tra có phần tử nào khớp regex \s (khoảng trắng) không.
  • not any(...) chỉ giữ hàng không có phần tử chứa khoảng trắng.
  • Kết quả chỉ còn hàng ['python', 'good'] và ['love', 'python'].

Cách thay thế không dùng regex:

my_result = [row for row in my_list if not any(' ' in elem for elem in row)]