Trong bài viết này, chúng ta sẽ tìm hiểu về Vòng lặp For trong Python. Đây là một phần công phu của vòng lặp, và sẽ giúp chúng ta giải quyết các vấn đề một cách đơn giản và ngắn gọn hơn.
Contents
Hạn chế của vòng lặp while
Trước khi đi vào vòng lặp for, hãy cùng nhau tìm hiểu về một số hạn chế của vòng lặp while. Vòng lặp while chỉ thích hợp để duyệt qua các List, chuỗi, Tuple hoặc iterator (một object không hỗ trợ indexing) khi chúng ta biết trước số phần tử của đối tượng đó.
Bạn đang xem: Vòng lặp For trong Python – Phần 1
Ví dụ:
length = 3
iter_ = (x for x in range(length))
c = 0
while c < length:
print(next(iter_))
c += 1
Xem thêm : Back end cần học gì? TOP 5 ngôn ngữ backend phổ biến nhất
Xem thêm : Tự học React Native từ đầu tại nhà – Cùng khám phá với VnSkills Academy!
Kết quả:
0
1
2
Nếu chúng ta không biết số phần tử của iterator, chúng ta có thể sử dụng try-block
để làm điều đó.
Ví dụ:
iter_ = (x for x in range(3)) # giả sử ta không biết có 3 phần tử
while 1: # 1 là một expression True
try:
print(next(iter_))
except StopIteration:
break
Tuy nhiên, với vẻ đẹp “one-liner” của Python, việc làm rườm rà như vậy không được chấp nhận.
Vì lý do đó, Python cung cấp một vòng lặp khác để giải quyết vấn đề này một cách đơn giản và ngắn gọn hơn – đó chính là vòng lặp for.
Cấu trúc vòng lặp for và cách hoạt động
Cấu trúc của vòng lặp for như sau:
for variable_1, variable_2, .. variable_n in sequence:
# for-block
Trong đó, sequence là một iterable object (có thể là iterator hoặc một dạng object cho phép sử dụng indexing, hoặc cả hai).
Ví dụ thực tế: Tiếp tục câu chuyện về Tèo và bạn gái ăn kem. Tèo đi mua 3 cây kem cho mình và hai cô gái. Nếu chỉ mua 2 cây, Tèo phải nhìn cô gái ăn. Nếu mua 4 cây, có thể xảy ra xung đột giữa ba người để tranh giành kem.
Giả sử chúng ta có một sequence gồm 2 phần tử, mỗi phần tử gồm 3 giá trị, và một đoạn code như sau:
for e1, e2, e3 in char:
print("Elements:", e1, e2, e3)
Xem thêm : Back end cần học gì? TOP 5 ngôn ngữ backend phổ biến nhất
Xem thêm : Tự học React Native từ đầu tại nhà – Cùng khám phá với VnSkills Academy!
Kết quả:
Elements: a b c
Elements: 1 2 3
Quá trình hoạt động của vòng lặp for như sau:
- Vòng lặp bắt đầu bằng cách lấy giá trị đầu tiên của sequence.
- Giá trị đầu tiên này có 3 giá trị, và chúng ta gán lần lượt cho 3 biến e1, e2, e3.
- Thực hiện nội dung của for-block (trong ví dụ là in ra 3 biến).
- Lấy giá trị tiếp theo trong sequence, và lặp lại các bước 2 và 3.
- Khi sequence đã hết giá trị, kết thúc vòng lặp. Kết quả được in ra là 2 dòng cuối cùng trong ví dụ trên.
Sử dụng vòng lặp để xử lí các iterator và Dict
Hãy áp dụng kiến thức đã học vào các ví dụ thực tế.
Ví dụ 1: Sử dụng vòng lặp for để duyệt qua một iterator.
iter_ = (x for x in range(3))
for value in iter_:
print("->", value)
Xem thêm : Back end cần học gì? TOP 5 ngôn ngữ backend phổ biến nhất
Xem thêm : Tự học React Native từ đầu tại nhà – Cùng khám phá với VnSkills Academy!
Kết quả:
-> 0
-> 1
-> 2
Ví dụ 2: Dùng vòng lặp for để duyệt qua một Dict.
howkteam = {'name': 'Kteam', 'kter': 69}
for key, value in howkteam.items():
print(key, '=>', value)
Xem thêm : Back end cần học gì? TOP 5 ngôn ngữ backend phổ biến nhất
Xem thêm : Tự học React Native từ đầu tại nhà – Cùng khám phá với VnSkills Academy!
Kết quả:
name => Kteam
kter => 69
Đối với vòng lặp for duyệt qua Dict với chỉ một biến chạy, thì biến đó sẽ duyệt qua các key của Dict.
Ví dụ:
d = {1: 'one', 2: 'two', 3: 'three'}
for i in d:
print(i)
Xem thêm : Back end cần học gì? TOP 5 ngôn ngữ backend phổ biến nhất
Xem thêm : Tự học React Native từ đầu tại nhà – Cùng khám phá với VnSkills Academy!
Kết quả:
1
2
3
Câu lệnh break và continue
Câu lệnh break và continue trong vòng lặp for hoạt động tương tự như trong vòng lặp while.
Ví dụ về câu lệnh break trong vòng lặp for:
s = 'How Kteam'
for ch in s:
if ch == ' ':
break
else:
print(ch)
Xem thêm : Back end cần học gì? TOP 5 ngôn ngữ backend phổ biến nhất
Xem thêm : Tự học React Native từ đầu tại nhà – Cùng khám phá với VnSkills Academy!
Kết quả:
H o w
Ví dụ về câu lệnh continue trong vòng lặp for:
s = 'H o w K t e a m'
for ch in s:
if ch == ' ':
continue
else:
print(ch)
Xem thêm : Back end cần học gì? TOP 5 ngôn ngữ backend phổ biến nhất
Xem thêm : Tự học React Native từ đầu tại nhà – Cùng khám phá với VnSkills Academy!
Kết quả:
H o w K t e a m
Cấu trúc vòng lặp for-else và cách hoạt động
Cấu trúc của vòng lặp for-else như sau:
for variable_1, variable_2, .. variable_n in sequence:
# for-block
else:
# else-block
Tương tự như vòng lặp while-else, vòng lặp for-else hoạt động như sau:
- Vòng lặp for được thực hiện như bình thường.
- Khi vòng lặp kết thúc, khối else-block sẽ được thực hiện.
- Nếu trong quá trình thực hiện for-block xuất hiện câu lệnh break, vòng lặp sẽ kết thúc và bỏ qua else-block.
Ví dụ vòng lặp for-else thông thường:
for k in (1, 2, 3):
print(k)
else:
print('Done!')
Xem thêm : Back end cần học gì? TOP 5 ngôn ngữ backend phổ biến nhất
Xem thêm : Tự học React Native từ đầu tại nhà – Cùng khám phá với VnSkills Academy!
Kết quả:
1
2
3
Done!
Ví dụ vòng lặp for-else với break:
for k in (1, 2, 3):
print(k)
if k % 2 == 0:
break
else:
print('Done!')
Xem thêm : Back end cần học gì? TOP 5 ngôn ngữ backend phổ biến nhất
Xem thêm : Tự học React Native từ đầu tại nhà – Cùng khám phá với VnSkills Academy!
Kết quả:
1
2
Đến đây, chúng ta đã cùng tìm hiểu về Vòng lặp For trong Python. Trong bài viết tiếp theo, chúng ta sẽ tiếp tục thảo luận về Vòng lặp For trong Python.
Cảm ơn bạn đã đọc bài viết. Hãy để lại bình luận hoặc góp ý của bạn để chúng tôi có thể cải thiện nội dung tốt hơn. Đừng quên thực hành và không ngại khó!
Nếu bạn có bất kỳ khó khăn hay thắc mắc nào, hãy đặt câu hỏi trong phần bình luận bên dưới hoặc trong mục HỎI & ĐÁP trên Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.
Nguồn: https://laptrinhc.edu.vn
Danh mục: Tài liệu IT