‫มาพูดถึงบางสิ่งที่ค่อนข้างพิเศษใน Python กัน และทำให้สิ่งต่าง ๆ ดีจริงๆ เหมือนกับโปรแกรมเมอร์ Python
‫และมันเรียกว่าความเข้าใจ
‫เป็นหนึ่งในเงื่อนไขสำคัญของเรา
‫ความเข้าใจ
‫พวกเขาคืออะไร?
‫จริงๆ แล้วเรียกว่า list comprehension หรือ set comprehension หรือ dictionary comprehension
‫และนี่คือประเภทข้อมูลบางส่วนที่เรามีใน Python
‫และเราสามารถใช้ความเข้าใจกับข้อมูลทั้งสามประเภทนี้ได้
‫ในขณะที่ฉันกำลังบันทึก มีนกร้องเจี๊ยก ๆ ในพื้นหลัง
‫ฉันคิดว่ามันคงจะดีถ้าเพียงแค่บันทึกโดยมีนกร้องเจี๊ยก ๆ ในพื้นหลัง
‫ฉันคิดว่ามันจะสงบสำหรับคุณถ้าคุณรำคาญ
‫ขอโทษนะ แต่เดี๋ยวก่อน พวกนกก็ต้องสนุกเหมือนกัน
‫โอเค แล้วความเข้าใจเหล่านี้คืออะไร?
‫มันเป็นวิธีที่รวดเร็วสำหรับเราในการสร้างรายการหรือชุดหรือพจนานุกรมใน Python แทนที่จะวนซ้ำหรือต่อท้ายรายการจำนวนมากในรายการ
‫ให้ฉันแสดงให้คุณดู แทนที่จะทำบางอย่าง เช่น รายการของฉันเท่ากับรายการที่ว่างเปล่า และจากนี้ไป
‫ฉันจะทำบางอย่าง เช่น อักขระสี่ตัวและสวัสดี
‫รายการของฉันจุดต่อท้าย
‫อักขระ.
‫ในที่สุดฉันก็สามารถสร้างรายการนี้ได้
‫สมมติว่ารายการของฉันแล้วเราจะพิมพ์ออกมา
‫ถ้าฉันคลิกเรียกใช้
‫ฉันสร้างรายการที่มีตัวละครจากสวัสดี
‫ก็ได้ แต่.
‫มีวิธีที่รวดเร็วกว่าและสะอาดกว่านี้ไหม
‫และใช่มีรายการความเข้าใจใน Python
‫อีกครั้งมันค่อนข้างพิเศษ
‫คุณไม่เห็นมันในภาษาการเขียนโปรแกรมมากนัก แต่คนที่ใช้ Python นั้นชอบฟีเจอร์นี้มาก
‫และฉันก็เช่นกัน
‫แล้วเราจะทำสิ่งนี้ได้อย่างไร?
‫การใช้ความเข้าใจรายการ
‫รูปแบบที่เราจะทำตามเป็นแบบนี้
‫เรากำลังจะบอกว่า Parab
‫สำหรับ.
‫Param ใน iterable
‫เมื่อฉันพูด param ฉันหมายถึงพารามิเตอร์ หรือในกรณีของเรา มันอาจเป็นตัวแปร เราจึงสามารถตั้งชื่อมันอะไรก็ได้ที่เราต้องการ
‫ให้ตั้งชื่อตัวละครนี้เหมือนที่เราทำในนี้ แล้วตามด้วยชื่อเหมือนที่เราทำในนี้
‫แล้วเราต้องการ iterable
‫ในกรณีของเราเราจะกล่าวสวัสดี
‫เพื่อว่าถ้าฉันลบสิ่งนี้และฉันคลิกเรียกใช้
‫ฉันได้รับสิ่งเดียวกันเช่นเดียวกับที่
‫ดังนั้นเมื่อสร้างในบรรทัดที่สาม ฉันสร้างรายการที่มีตัวละครและสวัสดี
‫ฉันทำสี่ลูปที่นี่และฉันสร้างรายการ
‫วิธีที่ฉันชอบคิดก็คือ เฮ้ สร้างตัวแปร แล้วเราจะทำ
‫for loop โดยบอกว่า เฮ้ สำหรับแต่ละตัวแปรใน iterable ที่เพิ่มเข้าไปในรายการ
‫ตกลง.
‫มาขยายความกัน
‫สมมุติว่าอยากทำอย่างอื่น
‫เรียกมันว่ารายการของฉันด้วย
‫และฉันต้องการสร้าง สมมติว่า รายการด่วนที่มีตัวเลขตั้งแต่ 0 ถึง 100 หรือ 0 ถึง 99
‫ฉันจะทำสิ่งนี้ได้อย่างไร
‫อีกครั้งโดยใช้การทำความเข้าใจรายการ
‫ฉันจะบอกว่าหมายเลขสี่หมายเลข
‫แล้วกฎที่ฉันจะใช้คืออะไร?
‫ฉันจะใช้ช่วงและพูดว่า 0 ถึง 100 เพื่อว่าถ้าฉันคลิกเรียกใช้ที่นี่
‫ดูนั่นสิ
‫ฉันได้รับรายการยาว ๆ ที่บรรจุตัวเลขเหล่านี้ไว้ล่วงหน้า
‫มันเจ๋งแค่ไหน?
‫ตกลง.
‫แต่นี่คือความท้าทายของฉันสำหรับคุณ
‫ถ้าฉันต้องการสิ่งนี้ล่ะ
‫แต่ตัวเลขทั้งหมดควรคูณด้วยสอง
‫ฉันต้องการแสดงรายการโดยที่ค่านี้เท่ากับศูนย์
‫นี่คือสอง
‫นี่คือสี่
‫นี่คือหก
‫นี่คือแปด
‫นี่คือสิบ
‫เป็นต้น.
‫ฉันจะทำอย่างไร?
‫จริงๆ แล้ว เราสามารถขยายสิ่งนี้ได้ เพื่อให้รายการสามของฉันในครั้งนี้ จะใช้สี่ลูปแบบเดียวกับที่เราเคยเห็นมาก่อน
‫แบบนี้.
‫แต่แทนที่จะเป็นเพียงตัวแปร ตอนนี้เป็นการแสดงออกว่าเราต้องการที่จะดำเนินการกับอักขระแต่ละตัวอย่างไร
‫เช่นเดียวกับที่เราเห็นในแลมบ์ดานิพจน์
‫ตอนนี้ฉันสามารถพูด Numb Times ได้แล้ว
‫สำหรับ.
‫รายการเหล่านี้
‫ดังนั้นตอนนี้ถ้าฉันทำรายการของฉันสาม
‫เฮ้ ตรวจสอบออก
‫นั่นก็สวยดีใช่มั้ย?
‫ตกลง.
‫มาทำให้มันท้าทายยิ่งขึ้นไปอีก
‫สมมุติว่ารายการของฉัน 3, เรามาทำให้มันใหญ่ขึ้นอีกหน่อยที่นี่
‫รายการของฉันสำหรับ
‫ฉันต้องการเปลี่ยนเพื่อให้ในรายการของฉันฉันยังคงอยู่ที่นี่อะไร?
‫ฉันมีตัวเลข แต่ฉันต้องการเก็บเฉพาะเลขคู่
‫ในกรณีนี้, พวกมันทั้งหมด, แม้เพราะพวกมันคูณด้วยสอง.
‫แต่ถ้ายกตัวอย่างเช่น เราทำเพื่อยกกำลังสอง และให้แสดงความคิดเห็นสักครู่แล้วคลิกเรียกใช้
‫เราเห็นว่าตัวเลขบางตัวไม่ใช่
‫ยังไงก็อยากเก็บเลขพวกนี้ไว้
‫แต่คนที่คู่กันเท่านั้น
‫ฉันจะทำมันได้อย่างไร?
‫ในกรณีนี้ เรามีวิธีใหม่ในการสร้างนิพจน์รายการนี้
‫เราจะทำแบบเดียวกับที่เราทำที่นี่
‫ดังนั้นฉันจะคัดลอกสิ่งนั้น
‫แต่ในตอนท้าย จำไว้ว่า ตอนนี้เรามีนิพจน์ตรงนี้ สิ่งที่เราจะทำเพื่อให้มีผลกับรายการใดๆ
‫ใน iterable
‫เราจะวนรอบสิ่งต่างๆ
‫และสุดท้ายหลังจากนี้, เราสามารถบอกได้ว่าถ้าหรือเราทำเงื่อนไข if ได้
‫ในกรณีของเรา สมมุติว่า ถ้า num
‫โมดูโลสองมีค่าเท่ากับศูนย์
‫จากนั้นเพิ่มลงในรายการเท่านั้น
‫ดังนั้นหากเราคลิกเรียกใช้
‫โอ้.
‫และตรวจสอบให้แน่ใจว่าเป็นรายการสำหรับ Click Run
‫ดูนั่นสิ
‫ทั้งหมดนี้เป็นเลขคู่
‫ลองดูรูปแบบนี้
‫จดจำ.
‫สิ่งเหล่านี้เรียกว่าความเข้าใจรายการ
‫เป็นวิธีที่เราสร้างรายการด้วย Python ได้อย่างรวดเร็ว แทนที่จะวนซ้ำและใช้ append หรือสิ่งที่เราเคยเห็นมาก่อน
‫ดังนั้นมันจึงเป็นรูปแบบชวเลขสำหรับเราที่จะทำสิ่งที่ไม่เหมือนใครเช่นนี้
‫วิธีที่เราสามารถทำได้คือมีการแสดงออกถึงสิ่งที่เราต้องการทำกับแต่ละรายการที่เราทำซ้ำ
‫เราวนซ้ำ
‫การใช้ for วนซ้ำผ่าน iterable เราให้ตัวแปรที่เราจะดำเนินการ จากนั้นหากต้องการ
‫เราก็มีตัวเลือกในการเพิ่มเงื่อนไขและพูดว่า เฮ้ รวมเฉพาะในรายการตาม เงื่อนไขนี้ขึ้นอยู่กับจริงหรือเท็จ
‫เยี่ยมมาก
‫ตอนนี้ แม้ว่าการเข้าใจรายการจะดีมากเพราะเป็นเพียงแค่บรรทัดเดียว
‫อาจทำให้สับสนเมื่อดูรหัสนี้
‫คุณต้องคุ้นเคยกับการเข้าใจรายการก่อนจึงจะเข้าใจสิ่งที่เกิดขึ้น
‫ดังนั้นแม้ว่าสิ่งนี้จะทำให้โค้ดสั้นลงหรืออาจจะสะอาดกว่า แต่ก็ทำให้อ่านง่ายออกไปเล็กน้อย
‫ดังนั้น อาจเป็นการดีกว่าถ้าเพียงแค่สร้างฟังก์ชันอธิบาย เช่น สร้างรายการของเลขคู่หรือบางอย่างตามบรรทัดเหล่านั้น
‫ดังนั้นจึงเป็นคำอธิบายมากขึ้นและนักพัฒนารายอื่นอาจมีความคิดที่ดีขึ้นว่าเกิดอะไรขึ้น
‫ดังนั้นจึงเป็นการแลกเปลี่ยนเสมอ
‫พักก่อนแล้วค่อยพูดถึงความเข้าใจเกี่ยวกับชุดและพจนานุกรมในวิดีโอหน้า
‫ลาก่อน.