เมื่อต้องการดึงสมาชิกจากช่วงดัชนี (ranges) ในลิสต์ สามารถใช้ลูป iteration และเมธอด extend() ได้
ตัวอย่าง
my_list = [14, 55, 41, 14, 17, 59, 22, 25, 14, 69, 42, 66, 99, 19]
print("The list is :")
print(my_list)
range_list = [(12, 14), (17, 18), (22, 28)]
print("The list is :")
print(range_list)
my_result = []
for element in range_list:
my_result.extend(my_list[element[0] : element[1] + 1])
print("The result is :")
print(my_result)
ผลลัพธ์
The list is : [14, 55, 41, 14, 17, 59, 22, 25, 14, 69, 42, 66, 99, 19] The list is : [(12, 14), (17, 18), (22, 28)] The result is : [99, 19]
คำอธิบาย
กำหนดลิสต์ข้อมูลและลิสต์ของ tuple ที่แทนช่วงดัชนี (เริ่มต้น, สิ้นสุด)
สร้างลิสต์ว่างสำหรับผลลัพธ์
วนลูปผ่านแต่ละช่วงใน range_list ใช้ slicing ดึงข้อมูลจาก my_list ตั้งแต่ดัชนีเริ่มต้นถึงสิ้นสุด+1 แล้วเพิ่มเข้าไปในผลลัพธ์ด้วย
extend()แสดงผลลัพธ์ (หมายเหตุ: ดัชนีในตัวอย่างเกินขอบเขตลิสต์ จึงได้เฉพาะสมาชิกสุดท้าย)