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, theo sau 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 split[] đượ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 duy nhất.
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. Để xóa 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 70 khi không thể tìm thấy mục được chỉ định trong danh sách. Ý tưởng là liên tục gọi hàm None
1 cho đến khi nó tạo ra một ngoại lệ None
0. Điều này được thể hiện dưới đây
Sử dụng khả năng hiểu danh sách để loại bỏ các bộ dữ liệu trống khỏi danh sách các bộ dữ liệu, e. g. join[]
0. Việc hiểu danh sách sẽ trả về một danh sách mới không chứa bất kỳ bộ dữ liệu trống nào
Ví dụ đầu tiên sử dụng khả năng hiểu danh sách để xóa các bộ dữ liệu trống khỏi danh sách các bộ dữ liệu
Khả năng hiểu danh sách được sử dụng để thực hiện một số thao tác cho mọi phần tử hoặc chọn một tập hợp con các phần tử đáp ứng một điều kiện
Trên mỗi lần lặp, chúng tôi kiểm tra xem mục hiện tại có đúng không và trả về kết quả
Các bộ dữ liệu trống là các giá trị giả, vì vậy chúng được lọc ra
Việc hiểu danh sách tạo ra một danh sách mới, nó không làm thay đổi danh sách ban đầu
Nếu bạn muốn xóa các bộ dữ liệu trống khỏi danh sách ban đầu, hãy sử dụng cắt danh sách
Chúng tôi đã sử dụng cú pháp join[]
1 để lấy một lát đại diện cho toàn bộ danh sách, vì vậy chúng tôi có thể gán trực tiếp cho biến
Lát cắt join[]
1 đại diện cho toàn bộ danh sách, vì vậy khi chúng tôi sử dụng nó ở phía bên trái, chúng tôi đang gán cho toàn bộ danh sách
Cách tiếp cận này thay đổi nội dung của danh sách ban đầu
Ngoài ra, bạn có thể sử dụng hàm join[]
3
Loại bỏ các bộ trống khỏi danh sách các bộ bằng filter[] #
Để xóa các bộ dữ liệu trống khỏi danh sách các bộ dữ liệu
- Sử dụng hàm
join[]
3 để lọc ra các bộ dữ liệu trống - Sử dụng lớp
join[]
5 để chuyển đổi đối tượngjoin[]
6 thành danh sách - Danh sách mới sẽ không chứa bất kỳ bộ dữ liệu trống nào
Chúng tôi đã sử dụng hàm join[]
3 để xóa các bộ dữ liệu trống khỏi danh sách các bộ dữ liệu
Hàm bộ lọc lấy một hàm và một iterable làm đối số và xây dựng một iterator từ các phần tử của iterable mà hàm trả về một giá trị trung thực
Nếu bạn vượt qua None
cho đối số hàm, tất cả các phần tử giả mạo của lần lặp sẽ bị xóa
Một bộ dữ liệu trống là một giá trị sai, vì vậy tất cả các bộ dữ liệu trống sẽ bị xóa
Bước cuối cùng là sử dụng lớp join[]
5 để chuyển đổi đối tượng join[]
6 thành danh sách
Ngoài ra, bạn có thể sử dụng vòng lặp join[]
11
Xóa các bộ dữ liệu trống khỏi danh sách các bộ dữ liệu bằng cách sử dụng vòng lặp for #
Để xóa các bộ dữ liệu trống khỏi danh sách các bộ dữ liệu
- Sử dụng vòng lặp
join[]
11 để lặp lại một bản sao của danh sách - Trên mỗi lần lặp lại, hãy kiểm tra xem mục hiện tại có phải là một bộ trống không
- Sử dụng phương pháp
join[]
13 để loại bỏ các bộ dữ liệu trống
Trên mỗi lần lặp lại, chúng tôi kiểm tra xem mục hiện tại có phải là một bộ trống hay không và sử dụng phương thức join[]
13 để xóa các phần tử phù hợp
Danh sách. phương thức remove[] loại bỏ mục đầu tiên khỏi danh sách có giá trị bằng với đối số được truyền vào
Phương thức join[]
15 thay đổi danh sách ban đầu và trả về None
Điều quan trọng nhất cần lưu ý khi xóa các mục khỏi danh sách trong vòng lặp join[]
11 là sử dụng phương thức join[]
18 để lặp lại một bản sao của danh sách
Nếu bạn cố gắng lặp lại danh sách ban đầu và xóa các mục khỏi danh sách đó, bạn có thể gặp lỗi khó xác định vị trí