Python สำหรับลูป
Python สำหรับลูป
for loop ใช้สำหรับวนซ้ำลำดับ (นั่นคือ รายการ ทูเพิล พจนานุกรม ชุด หรือสตริง)
ซึ่งไม่เหมือนกับ คีย์เวิร์ด forในภาษาการเขียนโปรแกรมอื่นๆ และทำงานเหมือนวิธีการ iterator มากกว่าที่พบในภาษาการเขียนโปรแกรมเชิงวัตถุอื่นๆ
ด้วยfor loop เราสามารถดำเนินการชุดคำสั่ง หนึ่งครั้งสำหรับแต่ละรายการในรายการ ทูเพิล ชุด ฯลฯ
ตัวอย่าง
พิมพ์แต่ละผลไม้ในรายการผลไม้:
fruits = ["apple", "banana", "cherry"]
for
x in fruits:
print(x)
for loop ไม่ต้องการตัวแปรการจัดทำดัชนีเพื่อตั้งค่าล่วงหน้า
วนผ่านสตริง
แม้สตริงจะเป็นอ็อบเจ็กต์ที่ทำซ้ำได้ แต่ก็มีลำดับของอักขระ:
ตัวอย่าง
วนซ้ำตัวอักษรในคำว่า "กล้วย":
for x in "banana":
print(x)
คำสั่งแบ่ง
ด้วย คำสั่ง breakเราสามารถหยุดการวนซ้ำก่อนที่มันจะวนผ่านรายการทั้งหมด:
ตัวอย่าง
ออกจากลูปเมื่อx
เป็น "กล้วย":
fruits = ["apple", "banana", "cherry"]
for x in fruits:
print(x)
if x ==
"banana":
break
ตัวอย่าง
ออกจากวงเมื่อx
เป็น "กล้วย" แต่คราวนี้ตัวแบ่งมาก่อนการพิมพ์:
fruits = ["apple", "banana", "cherry"]
for x in fruits:
if x ==
"banana":
break
print(x)
ถ้อยแถลงต่อ
ด้วย คำสั่ง ต่อไปเราสามารถหยุดการวนซ้ำปัจจุบันของลูป และดำเนินการต่อไป:
ตัวอย่าง
อย่าพิมพ์กล้วย:
fruits = ["apple", "banana", "cherry"]
for x in fruits:
if x ==
"banana":
continue
print(x)
ช่วง() ฟังก์ชัน
หากต้องการวนซ้ำชุดโค้ดตามจำนวนครั้งที่กำหนด เราสามารถใช้ฟังก์ชัน range()ฟังก์ชันrange()จะส่งกลับลำดับของตัวเลข โดยเริ่มต้นจาก 0 โดยค่าเริ่มต้น และเพิ่มทีละ 1 (โดยค่าเริ่มต้น) และสิ้นสุดที่จำนวนที่ระบุ
ตัวอย่าง
การใช้ฟังก์ชัน range()
for x in range(6):
print(x)
โปรดทราบว่าrange(6)ไม่ใช่ค่า 0 ถึง 6 แต่เป็นค่า 0 ถึง 5
ฟังก์ชันrange()มีค่าเริ่มต้นเป็น 0 เป็นค่าเริ่มต้น อย่างไรก็ตาม เป็นไปได้ที่จะระบุค่าเริ่มต้นโดยการเพิ่มพารามิเตอร์: range(2, 6)ซึ่งหมายถึงค่าตั้งแต่ 2 ถึง 6 (แต่ไม่รวม 6):
ตัวอย่าง
ใช้พารามิเตอร์เริ่มต้น:
for x in range(2, 6):
print(x)
ค่าเริ่มต้นของ ฟังก์ชันrange()เพื่อเพิ่มลำดับทีละ 1 อย่างไรก็ตาม สามารถระบุค่าที่เพิ่มขึ้นได้โดยการเพิ่มพารามิเตอร์ที่สาม: range(2, 30, 3 ) :
ตัวอย่าง
เพิ่มลำดับด้วย 3 (ค่าเริ่มต้นคือ 1):
for x in range(2, 30, 3):
print(x)
อื่น ๆ ใน For Loop
else
คีย์เวิร์ดใน
ลู ปfor
ระบุกลุ่มของโค้ดที่จะดำเนินการเมื่อลูปเสร็จสิ้น:
ตัวอย่าง
พิมพ์ตัวเลขทั้งหมดตั้งแต่ 0 ถึง 5 และพิมพ์ข้อความเมื่อสิ้นสุดการวนซ้ำ:
for x in range(6):
print(x)
else:
print("Finally finished!")
หมายเหตุ:บล็อกelse
จะไม่ถูกดำเนินการหากbreak
คำสั่ง หยุดการวนซ้ำ
ตัวอย่าง
ทำลายลูปเมื่อx
เป็น 3 และดูว่าเกิดอะไรขึ้นกับ
else
บล็อก:
for x in range(6):
if x == 3: break
print(x)
else:
print("Finally finished!")
ซ้อนลูป
ลูปที่ซ้อนกันคือลูปภายในลูป
"วงใน" จะถูกดำเนินการหนึ่งครั้งสำหรับการวนซ้ำแต่ละครั้งของ "วงรอบนอก":
ตัวอย่าง
พิมพ์คำคุณศัพท์แต่ละคำสำหรับผลไม้ทุกชนิด:
adj = ["red", "big", "tasty"]
fruits = ["apple", "banana", "cherry"]
for x in adj:
for y in fruits:
print(x, y)
คำสั่งผ่าน
for
ลูปไม่สามารถเว้นว่างได้ แต่ถ้าคุณมีเหตุผลบางอย่างที่มีfor
ลูปที่ไม่มีเนื้อหา ให้ใส่pass
คำสั่งเพื่อหลีกเลี่ยงข้อผิดพลาด
ตัวอย่าง
for x in [0, 1, 2]:
pass