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

การแบ่งช่วงสำรองในรายการ (Python)


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