Trong bài này ta sẽ tìm tất cả các phần tử từ một list bắt đầu bằng một chữ cái cụ thể.
Với index và lower
Ta dùng hàm lower để chữ cái test khớp với chữ cái đầu của các phần tử trong list bất kể chữ hoa/thường. Sau đó dùng index 0 để so sánh chữ cái đầu của các phần tử trong list với chữ cái test.
Ví dụ
listA = ['Mon', 'Tue', 'Wed', 'Thu'] # Test với chữ cái test = 'T' # in danh sách gốc print("Given list\n ",listA) # sử dụng lower và idx res = [idx for idx in listA if idx[0].lower() == test.lower()] # in kết quả print("List elements starting with matching letter:\n ",res)Đầu ra
Chạy mã trên cho kết quả sau:
Given list ['Mon', 'Tue', 'Wed', 'Thu'] List elements starting with matching letter: ['Tue', 'Thu']
Với startswith
Đây là cách tiếp cận trực tiếp, ta dùng hàm startswith. Hàm này trả về True nếu phần tử bắt đầu bằng chữ cái test, ngược lại False.
Ví dụ
listA = ['Mon', 'Tue', 'Wed', 'Thu'] # Test với chữ cái test = 'T' # in danh sách gốc print("Given list\n ",listA) # sử dụng startswith res = [idx for idx in listA if idx.lower().startswith(test.lower())] # in kết quả print("List elements starting with matching letter:\n ",res)Đầu ra
Chạy mã trên cho kết quả sau:
Given list ['Mon', 'Tue', 'Wed', 'Thu'] List elements starting with matching letter: ['Tue', 'Thu']