Python xóa chuỗi rỗng khỏi danh sách

Trong bài viết này, chúng ta sẽ tìm hiểu cách xóa các chuỗi rỗng khỏi danh sách các chuỗi trong Python

Cách tiếp cận đầu tiên là sử dụng phương thức sẵn có filter[]. Phương thức này lấy đầu vào từ danh sách các chuỗi và loại bỏ các chuỗi rỗng và trả về danh sách được cập nhật. Nó lấy Không làm tham số đầu tiên vì chúng tôi đang cố xóa các khoảng trống và tham số tiếp theo là danh sách các chuỗi

Chức năng Python tích hợp filter[] cho phép bạn xử lý một lần lặp và trích xuất các phần tử đáp ứng một điều kiện cụ thể. Hành động này thường được gọi là hoạt động lọc. Bạn có thể sử dụng hàm filter[] để áp dụng chức năng lọc cho một lần lặp và tạo một lần lặp mới chỉ chứa các phần tử khớp với điều kiện đã cho

Thí dụ

Trong chương trình được cung cấp bên dưới, chúng tôi đang lấy một danh sách các chuỗi làm đầu vào và chúng tôi đang xóa các khoảng trống bằng phương thức filter[] và chúng tôi đang in danh sách đã sửa đổi không có chuỗi trống −

str_list = ["Tutorialspoint","","Welcomes","","Everyone",""]

print["The given list of strings is"]
print[str_list]

print["Removing the empty spaces"]
updated_list = list[filter[None, str_list]]
print[updated_list]

đầu ra

Đầu ra của ví dụ trên như hình dưới đây -

The given list of strings is
['Tutorialspoint', '', 'Welcomes', '', 'Everyone', '']
Removing the empty spaces
['Tutorialspoint', 'Welcomes', 'Everyone']

Sử dụng phương thức join[] và split[]

Cách tiếp cận thứ hai là sử dụng các phương thức join[] và split[]. Chúng tôi sẽ lấy danh sách các chuỗi và chia chúng thành khoảng trắng bằng cách sử dụng phương thức split[] bằng cách gửi khoảng trắng dưới dạng tham số, sau đó chúng tôi sẽ nối tất cả chúng bằng phương thức join[]

Thí dụ

Trong ví dụ được đưa ra dưới đây, chúng tôi đang lấy một danh sách các chuỗi làm đầu vào và chúng tôi đang xóa các chuỗi trống bằng cách sử dụng phương thức remove[] và các vòng lặp và chúng tôi đang in danh sách đã sửa đổi không có chuỗi trống

Bạn cũng có thể sử dụng khả năng hiểu danh sách để xóa các chuỗi trống khỏi danh sách các chuỗi. Việc hiểu danh sách bao gồm một biểu thức, theo sau là vòng lặp for, tiếp theo là vòng lặp for hoặc câu lệnh if tùy chọn, tất cả được đặt trong dấu ngoặc vuông []. Lưu ý rằng giải pháp này chậm hơn phương pháp lọc

1

2

3

4

5

6

if __name__ == '__main__'.

 

    l = ['A', 'B', '', 'C', '', 'D']

    l = [s for s in l if s]

    in[l]    # ['A', 'B', 'C', 'D']

 

Tải xuống Chạy mã

3. Sử dụng hàm join[] với hàm split[]

Có thể sử dụng biểu thức ' '.join[iterable].split[] để lọc các giá trị trống từ một lần lặp. ' '.join[list] nối danh sách các chuỗi được phân cách bằng dấu cách một cách hiệu quả. Sau đó, hàm được gọi trên chuỗi kết quả, hàm này trả về danh sách các chuỗi trong đó khoảng trắng liên tiếp được coi là một dấu phân cách.

1

2

3

4

5

6

if __name__ == '__main__'.

 

    l = ['A', 'B', '', 'C', '', 'D']

    l = ' '. tham gia[l]. tách[]

    in[l]    # ['A', 'B', 'C', 'D']

 

Tải xuống Chạy mã

4. Sử dụng chức năng list.remove[]

list.remove[""] chỉ xóa lần xuất hiện đầu tiên của một chuỗi rỗng khỏi danh sách. Để loại bỏ tất cả các lần xuất hiện của một chuỗi trống khỏi danh sách, bạn có thể lợi dụng thực tế là nó tăng None0 khi không thể tìm thấy mục đã chỉ định trong danh sách. Ý tưởng là liên tục gọi hàm None1 cho đến khi nó tạo ra một ngoại lệ None0. Điều này được thể hiện dưới đây

Chủ Đề