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

ลบสมาชิกที่ Index ที่กำหนดในลิสต์

แนวคิด

กำหนดลิสต์ และลิสต์ index ที่ต้องการลบ ให้สร้างลิสต์ใหม่ที่ไม่มีสมาชิกตำแหน่งเหล่านั้น ใช้ enumerate และ not in

ตัวอย่างโค้ด

my_list = [91, 75, 15, 45, 69, 78, 23, 71, 36, 72]
print("ลิสต์ต้นฉบับ:", my_list)

my_list.sort()
print("หลังเรียง:", my_list)

index_list = [2, 4, 5, 7]
print("Index ที่จะลบ:", index_list)

my_result = []
for index, element in enumerate(my_list):
    if index not in index_list:
        my_result.append(element)

print("ผลลัพธ์:", my_result)
my_result.sort()
print("หลังเรียง:", my_result)

ผลลัพธ์

ลิสต์ต้นฉบับ: [91, 75, 15, 45, 69, 78, 23, 71, 36, 72]
หลังเรียง: [15, 23, 36, 45, 69, 71, 72, 75, 78, 91]
Index ที่จะลบ: [2, 4, 5, 7]
ผลลัพธ์: [15, 23, 45, 72, 78, 91]
หลังเรียง: [15, 23, 45, 72, 78, 91]

คำอธิบาย Index ที่ลบ (หลังเรียงแล้ว)

Indexค่าลบ?
015ไม่
123ไม่
236ใช่
345ไม่
469ใช่
571ใช่
672ไม่
775ใช่
878ไม่
991ไม่

วิธี Pythonic

index_set = set(index_list)
my_result = [elem for i, elem in enumerate(my_list) if i not in index_set]