ปัญหา
ต้องการลบจำนวนสมาชิก v ตัวจากหน้าและหลังของลิสต์พร้อมกัน
วิธีที่ 1: List Slicing (แนะนำ)
สร้างลิสต์ใหม่จาก slice list[v:-v]
listA = ['Sun','Mon','Tue','Wed','Thu','Fri','Sat'] v = 2 new_list = listA[v:-v] print(new_list) # ['Tue', 'Wed', 'Thu']
วิธีที่ 2: ใช้คำสั่ง del (แก้ไขลิสต์เดิม)
ลบจากหลังก่อน แล้วค่อยหน้า (ลบหน้าก่อนดัชนีหลังจะเปลี่ยน)
listA = ['Sun','Mon','Tue','Wed','Thu','Fri','Sat'] v = 2 del listA[-v:] # ลบหลัง 2 ตัว del listA[:v] # ลบหน้า 2 ตัว print(listA) # ['Tue', 'Wed', 'Thu']
ข้อควรระวัง
- Slicing สร้างลิสต์ใหม่ ใช้หน่วยความจำเพิ่ม
delแก้ไขที่เดิม (in-place) ประหยัดหน่วยความจำ- ถ้า
v*2 >= len(list)จะได้ลิสต์ว่าง