เมื่อจำเป็นต้องลบดัชนีองค์ประกอบที่ซ้ำกันออกจากรายการอื่น แอตทริบิวต์ 'enumerate' ความเข้าใจรายการ และการวนซ้ำอย่างง่ายจะถูกใช้
ตัวอย่าง
ด้านล่างนี้เป็นการสาธิตสิ่งเดียวกัน
my_list_1 = [4, 5, 6, 5, 4, 7, 8, 6] my_list_2 = [1, 7, 6, 4, 7, 9, 10, 11] print("The first list is :") print(my_list_1) print("The second list is :") print(my_list_2) temp_set = set() temp = [] for index, value in enumerate(my_list_1): if value not in temp_set: temp_set.add(value) else: temp.append(index) my_result = [element for index, element in enumerate(my_list_2) if index not in temp] print("The result is :") print(my_result)
ผลลัพธ์
The first list is : [4, 5, 6, 5, 4, 7, 8, 6] The second list is : [1, 7, 6, 4, 7, 9, 10, 11] The result is : [1, 7, 6, 9, 10]
คำอธิบาย
- รายการจำนวนเต็มสองรายการถูกกำหนดและแสดงบนคอนโซล
- ชุดว่างถูกสร้างขึ้นและกำหนดเป็น 'temp_set'
- รายการว่างถูกสร้างขึ้นและกำหนดเป็น 'ชั่วคราว'
- รายการแรกมีการทำซ้ำโดยใช้แอตทริบิวต์ "แจกแจง" และองค์ประกอบของรายการแรกจะถูกเปรียบเทียบกับองค์ประกอบของรายการที่สอง
- ถ้าตรงกัน องค์ประกอบจะถูกเก็บไว้ในรายการ
- การทำความเข้าใจรายการใช้เพื่อวนซ้ำองค์ประกอบของรายการที่สองและตรวจสอบว่าการแจงนับองค์ประกอบของรายการที่สองมีอยู่ในรายการที่สร้างขึ้นใหม่หรือไม่
- มันถูกแปลงเป็นรายการ
- สิ่งนี้ถูกกำหนดให้กับตัวแปร
- แสดงเป็นเอาต์พุตบนคอนโซล