ฟังดูซับซ้อนใช่ไหม? นั่นคือความเข้าใจรายการ Python สำหรับคุณ คุณลักษณะที่มีประสิทธิภาพสูงนี้จะรวมการสร้างรายการไว้ในโค้ดบรรทัดเดียว เป็นแนวทางที่เรียบง่ายซึ่งปรับปรุงทั้งความเร็วและประสิทธิภาพ
ความเข้าใจในรายการเกี่ยวข้องกับการทำความเข้าใจส่วนประกอบของรายการและสร้างรายการใหม่จากรายการดั้งเดิม โดยจะรวมองค์ประกอบของการแมปและการกรองเพื่อสร้างรายการใหม่โดยอิงจากรายการที่มีอยู่ โดยมีเงื่อนไขเพิ่มเติม ส่วนประกอบหลักคือนิพจน์เอาท์พุต ลำดับอินพุต และภาคแสดงเสริม
new_list = [expression for member in iterable]
ก่อนที่เราจะเจาะลึกลงไปในการทำงานของ list comprehension เรามาทำความเข้าใจคำศัพท์กันก่อน:
นิพจน์เอาท์พุต:
นี่เป็นเหมือนส่วนปฏิบัติการของความเข้าใจในรายการ จะตัดสินใจว่ารายการใดจะเป็นส่วนหนึ่งของรายการใหม่ อาจเป็นอะไรก็ได้ตั้งแต่การดำเนินการทางคณิตศาสตร์ (เช่น ตัวเลขกำลังสอง) ไปจนถึงการจัดรูปแบบสตริง และอื่นๆ
ลำดับอินพุต:
ลำดับอินพุตช่วยให้เราสามารถกำหนดรายการหรือช่วงที่เราต้องการวนซ้ำได้
ภาคแสดงทางเลือก:
ส่วนนี้ช่วยให้เราใช้เงื่อนไขกับลำดับอินพุตได้ เช่น ตัวกรอง เงื่อนไขสามารถกรองรายการตามเกณฑ์ที่กำหนดได้
ลองพิจารณาตัวอย่างที่เราต้องการยกกำลังสองตัวเลขแต่ละตัวในรายการ หากไม่มี list comprehension เราจะต้องใช้ for loop:
numbers = [1, 2, 3, 4, 5] squared = [] for num in numbers: squared.append(num ** 2) print(squared)
แต่ด้วย list comprehension เราสามารถเขียนสิ่งนี้ได้อย่างง่ายดาย:
numbers = [1, 2, 3, 4, 5] squared = [num ** 2 for num in numbers] print(squared)
ตอนนี้ ลองพิจารณาตัวอย่างที่เราต้องการยกกำลังสองเฉพาะตัวเลขที่มากกว่า 2:
numbers = [1, 2, 3, 4, 5] squared = [num ** 2 for num in numbers if num > 2] print(squared)
สรุป
ความเข้าใจรายการ Python มอบโซลูชันที่กระชับและสวยงามสำหรับการสร้างรายการ มันเร็วกว่าและอ่านง่ายกว่า (เมื่อคุณคุ้นเคยแล้ว) มากกว่าลูปแบบเดิม ด้วยนิพจน์เอาท์พุต ลำดับอินพุต และเพรดิเคตเสริม คุณสามารถดำเนินการที่มีประสิทธิภาพและมีประสิทธิผลได้ในโค้ดบรรทัดเดียว ความเข้าใจในรายการ Python เป็นข้อพิสูจน์ว่าในการเขียนโค้ด ไม่ค่อยมีความกระชับและประสิทธิภาพไม่สอดคล้องกัน
โปรดตรวจสอบให้แน่ใจว่าได้กำหนดขอบเขตบล็อกโค้ด Python ด้วย ทำเครื่องหมายรายการด้วย
- และใช้ แท็กสำหรับคำหลักเพื่อให้เป็นไปตามข้อกำหนด SEO และความสะดวกของผู้อ่าน คุณไม่จำเป็นต้องติดป้ายกำกับ “บทนำ” หรือ “บทสรุป” อย่างชัดเจน และอย่าลืมเพิ่ม แท็กหลังย่อหน้าแรก ขอให้มีความสุขในการเขียนโค้ด!