การแบ่งส่วนเป็นเทคนิคทั่วไปในการวิเคราะห์ข้อมูลจากรายการที่กำหนดใน 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]