For Loop ใน Python ใช้เพื่อ Iterate ผ่านจำนวนองค์ประกอบหรือช่วง Integer เฉพาะเจาะจง องค์ประกอบอาจเป็นของ Array, String หรือ Iterable Object ใดๆ ใน Python
For Loop เป็น Looping Statement ที่ใช้บ่อยที่สุด คำถามโปรแกรมส่วนใหญ่ที่เราพบ ใช้ For Loop ใน Solution ของมัน
For ใน Range Loop
Python มี For In Range Loop มันรับค่า Integer 2 ค่า ระบุช่วงที่ตัวแปรต้อง Iterate หากระบุเพียงหนึ่ง Integer Parameter ค่าที่ระบุจะถูกนำมาเป็น End ของ Range และ Start จะเป็น 0 โดย Default
Syntax
for variable in range( starting value, end value) for variable in range( end value)
Note: For Loop ใน Python Iterate น้อยกว่าค่า End อยู่ 1 หมายความว่า หาก Start และ End คือ 1 และ 5 ตามลำดับ Loop จะ Iterate สำหรับ 1,2,3,4 ค่า Start Inclusive แต่ End ไม่ Inclusive
ตัวอย่าง
for i in range(1,5):
print(i,end=" ")
print()
for i in range(5):
print(i,end=" ")
ผลลัพธ์
1 2 3 4 0 1 2 3 4
Reverse For Loop
For In Range Loop สามารถรับพารามิเตอร์ตัวที่สาม -1 ได้ ซึ่งระบุว่า For Loop จะ Iterate ย้อนกลับ Loop เริ่มจาก Start Value และ Iterate ลดลงจนถึง End Value (ไม่ Inclusive)
ตัวอย่าง
for i in range(5,0,-1):
print(i,end=" ")
ผลลัพธ์
5 4 3 2 1
ระบุพารามิเตอร์ตัวที่สามใน For Loop
พารามิเตอร์ตัวที่สามใน For Loop สามารถปรับเปลี่ยนได้เพื่อใช้ For Loop แบบต่างๆ พารามิเตอร์ตัวที่สาม จริงๆ แล้วระบุ Steps (ขั้นกระโดด) ที่ตัวแปรควรกระโดด หากไม่ระบุ จะเป็น 1 โดย Default
หากพารามิเตอร์เป็นลบ ระบุว่า Loop จะ Iterate ย้อนกลับ จำนวนขั้นย้อนกลับจะถูกกำหนดโดยพารามิเตอร์นี้
หากพารามิเตอร์เป็นบวก Loop จะ Iterate ไปข้างหน้า จำนวนขั้นไปข้างหน้าจะถูกกำหนดโดยพารามิเตอร์นี้
มาลองเข้าใจด้วยตัวอย่างด้านล่าง
ตัวอย่าง
for i in range(0,11,2):
print(i,end=" ")
print()
for i in range(10,-1,-2):
print(i,end=" ")
ผลลัพธ์
0 2 4 6 8 10 10 8 6 4 2 0
For In Loop
Loop นี้ใช้ Iterate ผ่าน Iterable Object เช่น String หรือ Array ไม่สามารถใช้ Iterate ผ่าน Integer Range เฉพาะเจาะจงได้
Syntax
for variable in iterable object
Loop นี้ Iterate ผ่านทุกองค์ประกอบของ Iterable Object ทีละอัน โดยไม่คำนึงถึง Index หากต้องการ Index ให้ใช้ For In Range Loop
ตัวอย่าง
st="Tutorials"
for i in st:
print(i,end=" ")
print()
array=[2,4,6,8,10]
for i in array:
print(i,end=" ")
print()
for i in range(len(array)):
print(array[i],end=" ")
ผลลัพธ์
T u t o r i a l s 2 4 6 8 10 2 4 6 8 10
Note: ตามที่ชัดเจนจากตัวอย่างข้างต้น ตัวแปรใน For In Loop จะเก็บองค์ประกอบของ Iterable Object ทีละอัน ในขณะที่ตัวแปรใน For In Range Loop จะเก็บ Index ขององค์ประกอบ