Một list có thể có tuple làm phần tử. Trong bài này ta sẽ học cách xác định những tuple chứa một phần tử tìm kiếm cụ thể là một chuỗi.
Với in và điều kiện
Ta có thể thiết kế list comprehension với điều kiện in. Sau in ta có thể đề cập đến điều kiện hoặc tổ hợp điều kiện.
Ví dụ
listA = [('Mon', 3), ('Tue', 1), ('Mon', 2), ('Wed', 3)] test_elem = 'Mon' #Danh sách cho trước print("Given list:\n",listA) print("Check value:\n",test_elem) # Sử dụng for và if res = [item for item in listA if item[0] == test_elem and item[1] >= 2] # in res print("The tuples satisfying the conditions:\n ",res)Đầu ra
Chạy mã trên cho kết quả sau:
Given list: [('Mon', 3), ('Tue', 1), ('Mon', 2), ('Wed', 3)] Check value: Mon The tuples satisfying the conditions: [('Mon', 3), ('Mon', 2)]Với filter
Ta dùng hàm filter cùng với lambda. Trong điều kiện filter ta dùng toán tử in để kiểm tra sự hiện diện của phần tử trong tuple.
Ví dụ
listA = [('Mon', 3), ('Tue', 1), ('Mon', 2), ('Wed', 3)] test_elem = 'Mon' #Danh sách cho trước print("Given list:\n",listA) print("Check value:\n",test_elem) # Sử dụng lambda và in res = list(filter(lambda x: test_elem in x, listA)) # in res print("The tuples satisfying the conditions:\n ",res)Đầu ra
Chạy mã trên cho kết quả sau:
Given list: [('Mon', 3), ('Tue', 1), ('Mon', 2), ('Wed', 3)] Check value: Mon The tuples satisfying the conditions: [('Mon', 3), ('Mon', 2)]