Cho một danh sách chuỗi, hãy tìm phần tử không rỗng đầu tiên. Thách thức là - có thể có một, hai hoặc nhiều chuỗi rỗng ở đầu danh sách và ta phải động tìm chuỗi không rỗng đầu tiên.
Với next
Ta áp dụng hàm next để chuyển sang phần tử tiếp theo nếu phần tử hiện tại là null.
Ví dụ
listA = ['','top', 'pot', 'hot', ' ','shot'] # Danh sách cho trước print("Given list:\n ",listA) # sử dụng next() res = next(sub for sub in listA if sub) # in kết quả print("The first non empty string is : \n",res)Đầu ra
Chạy mã trên cho kết quả sau:
Given list: ['', 'top', 'pot', 'hot', ' ', 'shot'] The first non empty string is : top
Với filter
Ta cũng có thể đạt được điều này dùng điều kiện filter. Filter sẽ loại bỏ giá trị null và ta lấy giá trị not null đầu tiên. Chỉ với Python 2.
Ví dụ
listA = ['','top', 'pot', 'hot', ' ','shot'] # Danh sách cho trước print("Given list:\n ",listA) # sử dụng filter() res = filter(None, listA)[0] # in kết quả print("The first non empty string is : \n",res)Đầu ra
Chạy mã trên cho kết quả sau:
Given list: ['', 'top', 'pot', 'hot', ' ', 'shot'] The first non empty string is : top