หาสับลิสต์ที่ซ้ำกันระหว่างสองลิสต์หลัก
วิธีที่ 1: List Comprehension
list_1 = [[1, 2], [3, 4], [5, 6]] list_2 = [[3, 4]] result = [sub_list for sub_list in list_1 if sub_list in list_2] print(result) # [[3, 4]]
วิธีที่ 2: ใช้ Set (แปลงเป็น Tuple ก่อน)
list_1 = [[1, 2], [3, 4], [5, 6]] list_2 = [[3, 4]] tuple_1 = map(tuple, list_1) tuple_2 = map(tuple, list_2) result = list(map(list, set(tuple_1).intersection(tuple_2))) print(result) # [[3, 4]]
สรุป
วิธี Set เร็วกว่าสำหรับข้อมูลเยอะ แต่ต้องแปลงเป็น Tuple ก่อนเพราะ List ไม่ hashable