Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธีลบ Index List จาก List อื่นใน Python

มี 2 ลิสต์: L1 ลิสต์ต้นทางที่จะลบ Element และ L2 ลิสต์ที่เก็บ Indices ที่จะลบ

>>> L1=[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> L2=[2, 4, 6]

สร้าง Enumerate Object จาก L1 enumerate() คืน Collection ของ Tuple 2 ค่า (Index, Element)

วน For Loop 2 ตัวแปรเปรียบเทียบ Index กับ Element ใน L2 หากเจอ ลบ Item ใน L1

>>> e=enumerate(L1)
>>> for i,j in e:
...     if i in L2:
...         del L1[i]

L1 ที่ได้จะมี Element ยกเว้น Index ใน L2

>>> L1
[1, 2, 4, 5, 7, 8]

หมายเหตุ: การลบขณะ Iterate ต้องระวัง Index Shift แนะนำให้ Iterate ย้อนหลังหรือสร้าง List ใหม่แทน