การแบ่งส่วนเป็นเทคนิคทั่วไปในการวิเคราะห์ข้อมูลจากรายการที่กำหนดใน Python แต่สำหรับการวิเคราะห์ของเรา บางครั้ง เราต้องสร้างส่วนของรายการสำหรับช่วงของค่าเฉพาะ ตัวอย่างเช่น เราจำเป็นต้องพิมพ์ 4 องค์ประกอบโดยข้ามทุกๆ 4 องค์ประกอบจากรายการ ในบทความนี้ เราจะเห็นแนวคิดของการแบ่งช่วงใน Python
การใช้ range() และ len()
เราสร้าง for loop เพื่อดูความยาวทั้งหมดของรายการ แต่เลือกเฉพาะองค์ประกอบที่ตรงตามการทดสอบการหาร ในการทดสอบการหาร เราจะตรวจสอบค่าของส่วนที่เหลือขององค์ประกอบที่ k ในรายการ หากส่วนที่เหลือมากกว่าหรือเท่ากับค่าช่วง เราจะยอมรับองค์ประกอบดังกล่าว มิฉะนั้นเราจะไม่รับ
ตัวอย่าง
range_slicing = [6,9,11,15,20,24,29,36,39,43,47,52,56,70,73,79] print("The given list: ",range_slicing) # Range Value s = 4 # Using range and len result = [range_slicing[k] for k in range(len(range_slicing)) if k % (s * 2) >= s] print("\nThe list after range slicing: ",result)
การเรียกใช้โค้ดด้านบนทำให้เราได้ผลลัพธ์ดังต่อไปนี้:
The given list: [6, 9, 11, 15, 20, 24, 29, 36, 39, 43, 47, 52, 56, 70, 73, 79] The list after range slicing: [20, 24, 29, 36, 56, 70, 73, 79]
การใช้การแจงนับ
เราใช้ตรรกะที่คล้ายกันในแนวทางก่อนหน้านี้ แต่แทนที่จะใช้ range() และ len() เราเพียงแค่ใช้ enumerate() โปรดทราบว่าองค์ประกอบสุดท้ายในรายการปรากฏในผลลัพธ์เนื่องจากเป็นไปตามเงื่อนไขการหาร
ตัวอย่าง
range_slicing = [6,9,11,15,20,24,29,36,39,43,47,52,56,70,73,79] print("The given list: ",range_slicing) # Range value s2= 5 # Using Enumerate result_2 = [val for m, val in enumerate(range_slicing) if m % (s2 * 2) >= s2] print("\nThe list after range slicing: ",result_2)
การเรียกใช้โค้ดด้านบนทำให้เราได้ผลลัพธ์ดังต่อไปนี้:
The given list: [6, 9, 11, 15, 20, 24, 29, 36, 39, 43, 47, 52, 56, 70, 73, 79] The list after range slicing: [24, 29, 36, 39, 43, 79]