สำหรับลูปใน python วากยสัมพันธ์ รายการวนซ้ำ ทำลาย ดำเนินการต่อและคุณสมบัติอื่น ๆ

Цikl สำหรับ python i วงจร ในขณะที่ – งบ ซอฟต์แวร์ ภาษา, กล่าวคือ: ตัวดำเนินการวนซ้ำ letไอเอ็นจี รหัสซ้ำ ให้หมายเลข เวลา

Цหรือสำหรับ — сintaxi

ตามที่อธิบายไว้แล้ว cรวมอยู่ใน Python เป็นตัววนซ้ำตามй ต่อรอบเอกลักษณ์. เขาคือ การกระทำ โดยองค์ประกอบทูเพิล и รายการ ศัพท์ กุญแจและ อื่น ๆ วัตถุที่ทำซ้ำได้

การวนซ้ำใน Python เริ่มต้นด้วยคีย์เวิร์ด for ตามด้วยชื่อตัวแปรที่กำหนดเองซึ่งเก็บค่าของอ็อบเจกต์ถัดไปในลำดับที่กำหนด ไวยากรณ์ทั่วไปสำหรับ for…in ใน python มีลักษณะดังนี้:

สำหรับใน : else:      

ส่วนประกอบ “ลำดับ” อยู่ในรายการ ทีละคน ตัวแปรรอบ หรือว่า .. แทน, ตัวแปรชี้ไปที่ อย่างเช่น องค์ประกอบ สำหรับทุกคน ของพวกเขา “การกระทำ” ถูกดำเนินการ

Simple for loop ใน Python พร้อมตัวอย่างเฉพาะ:

>>> ภาษา = ["C", "C++", "Perl", "Python"] >>> สำหรับ x ในภาษา: ... พิมพ์ (x) ... C C++ Perl Python >>>

บล็อกอื่นเป็นพิเศษไทย. ถ้า โปรแกรมเมอร์ыการทำงาน с Perl คุ้นเคยы กับเขา, ที่ สำหรับผู้ที่โต้ตอบ с C และ C++ — นี่คือนวัตกรรม. ความหมายมัน ฟังก์ชั่น тเหมือนกัน ในขณะที่วนซ้ำ.

ดำเนินการเฉพาะเมื่อลูปไม่ได้ "หยุด" โดยคำสั่ง break นั่นคือจะดำเนินการหลังจากองค์ประกอบทั้งหมดผ่านลำดับที่ระบุเท่านั้น

ตัวดำเนินการแบ่งใน python – break

หากโปรแกรมมี for loop จำเป็น ขัดขวาง คำสั่งทำลาย he สมบูรณ์มันไปและ โครงการ ไหล จะ Contที่จะ ไม่มี การเปิดใช้งาน จากที่อื่น

บ่อยขึ้น แบ่งวลีในหลามอุยุตสยา กับข้อความแบบมีเงื่อนไข

eaters = ["chops", "dumplings","eggs","nuts"] สำหรับอาหารที่กินได้: if food == "dumplings": print("ฉันไม่กินเกี๊ยว!") break print("เยี่ยมมาก, อร่อย " + อาหาร) อื่นๆ: print("ดีที่ไม่มีเกี๊ยวซ่า!") print("Dinner is over")

หากคุณเรียกใช้รหัสนี้ คุณจะได้ผลลัพธ์ดังต่อไปนี้:

สับอร่อยดี ฉันไม่กินเกี๊ยว! อาหารเย็นจบลงแล้ว

เราลบ "เกี๊ยว" ออกจากรายการข้อมูลที่มีอยู่และรับ:

ยอดเยี่ยม สับอร่อย ยอดเยี่ยม ไข่อร่อย ยอดเยี่ยม ถั่วอร่อย สิ่งที่ดีไม่มีเกี๊ยว! อาหารเย็นจบลงแล้ว

ตัวดำเนินการข้ามหลาม – ทำต่อ

สมมติว่าความเกลียดชังของผู้ใช้ต่อผลิตภัณฑ์ดังกล่าวไม่ดีเท่าที่ละทิ้งการบริโภคอย่างสมบูรณ์ เป็นผลให้การวนซ้ำดำเนินต่อไปด้วยโอเปอเรเตอร์ continue. สคริปต์ต่อไปนี้ใช้คำสั่ง continue, เพื่อทำซ้ำผ่านรายการใน “ผู้ติดต่อเกี๊ยว”

eaters = ["chops", "dumplings","eggs","nuts"] สำหรับอาหารที่กินได้: if food == "dumplings": print("ฉันไม่กินเกี๊ยว!") พิมพ์ต่อ ("เยี่ยมมาก อร่อย " + อาหาร) # นี่อาจเป็นรหัสสำหรับการเพลิดเพลินกับอาหาร :-) อื่น ๆ : print("ฉันเกลียดเกี๊ยว!") print("Dinner is over")

บรรทัดล่าง:

สับอร่อยดี ฉันไม่กินเกี๊ยว! ยอดเยี่ยม ไข่อร่อย ยอดเยี่ยม ถั่วอร่อย ฉันเกลียดเกี๊ยว! อาหารเย็นจบลงแล้ว

วนซ้ำรายการด้วย range() function

หากคุณต้องการเข้าถึงดัชนีของรายการ ยังไม่ชัดเจนว่าจะใช้ for loop เพื่อจุดประสงค์นี้ได้อย่างไร สามารถเข้าถึงองค์ประกอบทั้งหมดได้ แต่ดัชนีขององค์ประกอบจะไม่สามารถเข้าถึงได้ อย่างไรก็ตาม มีวิธีการเข้าถึงทั้งดัชนีขององค์ประกอบและตัวองค์ประกอบเอง เพื่อจุดประสงค์นี้ ฟังก์ชันนี้ถูกใช้ range() รวมกับฟังก์ชันความยาว len():

fibonacci = [0,1,1,2,3,5,8,13,21] สำหรับฉันอยู่ในช่วง (len(fibonacci)): พิมพ์ (i,fibonacci[i])

จะได้รับ:

0 0 1 1 2 1 3 2 4 3 5 5 6 8 7 13 8 21

ความสนใจ! เมื่อสมัคร len() к list or tupleจะได้รับจำนวนองค์ประกอบที่สอดคล้องกันของลำดับที่กำหนด

ความยากลำบากในการวนซ้ำรายการ

เมื่อวนซ้ำในรายการ ขอแนะนำให้หลีกเลี่ยงไดนามิกของรายการในเนื้อหาของลูป เพื่อความชัดเจน เราสามารถเสนอตัวเลือกต่อไปนี้:

สี = ["สีแดง"] สำหรับฉันในสี: ถ้าฉัน == "สีแดง": สี += ["สีดำ"] ถ้าฉัน == "สีดำ": สี += ["สีขาว"] พิมพ์ (สี)

จะเกิดอะไรขึ้นเมื่อสมัคร print(colours)?

['แดง', 'ดำ', 'ขาว']

เพื่อหลีกเลี่ยงปัญหานี้ ขอแนะนำให้โต้ตอบกับสำเนาโดยใช้สไลซ์ ดังตัวอย่างด้านล่าง:

สี = ["สีแดง"] สำหรับฉันในสี[:]: ถ้าฉัน == "สีแดง": สี += ["สีดำ"] ถ้าฉัน == "สีดำ": สี += ["สีขาว"] พิมพ์ (สี )

ผลลัพธ์:

['แดงดำ']

รายการมีการเปลี่ยนแปลง coloursแต่การดำเนินการนี้ไม่มีผลกับการวนซ้ำ ข้อมูลที่จำเป็นต้องทำซ้ำยังคงไม่เปลี่ยนแปลงระหว่างการดำเนินการวนซ้ำ

แจกแจงใน python 3

แจกแจงเป็นฟังก์ชัน Python ในตัว ผู้เริ่มต้นส่วนใหญ่รวมถึงโปรแกรมเมอร์ที่มีประสบการณ์บางคนไม่ทราบว่ามีอยู่จริง ช่วยให้คุณสามารถนับการวนซ้ำของลูปได้โดยอัตโนมัติ ตัวอย่างเช่น:

สำหรับตัวนับ ค่าเป็น enumerate(some_list): print(counter, value)

ฟังก์ชัน enumerate ยังใช้อาร์กิวเมนต์ที่เป็นตัวเลือก (ค่าของแหล่งกำเนิด นำมาโดยค่าเริ่มต้นสำหรับ 0). ซึ่งทำให้มีประสิทธิภาพมากยิ่งขึ้น

my_list = ['apple', 'banana', 'cherry', 'peach'] สำหรับ c, ค่าในการแจกแจง (my_list, 1): print(c, value) # ผลลัพธ์: # 1 apple # 2 banana # 3 cherry # 4 ลูกพีช

เขียนความเห็น