Khóa học python

Vòng lặp for trong Python

0 phút đọc

Vòng lặp for là một trong những cấu trúc điều khiển quan trọng và phổ biến nhất trong Python. Nó cho phép bạn lặp qua các phần tử của một dãy (sequence) như danh sách, tuple, chuỗi, hoặc thậm chí là các đối tượng có thể lặp khác. Trong bài viết này, chúng ta sẽ tìm hiểu chi tiết về vòng lặp for trong Python, cách sử dụng nó với các loại dữ liệu khác nhau, và các ví dụ minh họa cụ thể.

Tổng quan về vòng lặp for

Vòng lặp for trong Python được sử dụng để lặp qua các phần tử của một dãy. Cú pháp cơ bản của vòng lặp for như sau:

python Copy
for biến_lặp in dãy_phần_tử:
    khối_lệnh

Trong đó:

  • biến_lặp là biến sẽ nhận giá trị của từng phần tử trong dãy.
  • dãy_phần_tử là dãy các phần tử mà bạn muốn lặp qua.
  • khối_lệnh là khối mã sẽ được thực thi cho mỗi phần tử trong dãy.

Vòng lặp for với danh sách

Danh sách (list) là một trong những kiểu dữ liệu phổ biến nhất trong Python. Bạn có thể sử dụng vòng lặp for để lặp qua các phần tử của một danh sách như sau:

python Copy
fruits = ['apple', 'banana', 'cherry']
for fruit in fruits:
    print(fruit)

Kết quả:

Copy
apple
banana
cherry

Trong ví dụ này, biến fruit sẽ lần lượt nhận giá trị của từng phần tử trong danh sách fruits và in ra giá trị đó.

Vòng lặp for với chuỗi

Chuỗi (string) trong Python cũng là một dãy các ký tự, và bạn có thể sử dụng vòng lặp for để lặp qua từng ký tự trong chuỗi:

python Copy
word = "Python"
for letter in word:
    print(letter)

Kết quả:

Copy
P
y
t
h
o
n

Trong ví dụ này, biến letter sẽ lần lượt nhận giá trị của từng ký tự trong chuỗi word và in ra ký tự đó.

Vòng lặp for với tuple

Tuple là một kiểu dữ liệu tương tự như danh sách nhưng không thể thay đổi (immutable). Bạn có thể sử dụng vòng lặp for để lặp qua các phần tử của một tuple:

python Copy
numbers = (1, 2, 3, 4, 5)
for number in numbers:
    print(number)

Kết quả:

Copy
1
2
3
4
5

Trong ví dụ này, biến number sẽ lần lượt nhận giá trị của từng phần tử trong tuple numbers và in ra giá trị đó.

Vòng lặp for với đối tượng range

Hàm range() trong Python tạo ra một dãy các số nguyên, và bạn có thể sử dụng vòng lặp for để lặp qua các số này:

python Copy
for i in range(5):
    print(i)

Kết quả:

Copy
0
1
2
3
4

Trong ví dụ này, hàm range(5) tạo ra một dãy các số từ 0 đến 4, và biến i sẽ lần lượt nhận giá trị của từng số trong dãy này và in ra giá trị đó.

Vòng lặp for với chỉ số của dãy

Đôi khi, bạn cần lặp qua các phần tử của một dãy và đồng thời cần biết chỉ số của từng phần tử. Bạn có thể sử dụng hàm enumerate() để làm điều này:

python Copy
fruits = ['apple', 'banana', 'cherry']
for index, fruit in enumerate(fruits):
    print(f"Index: {index}, Fruit: {fruit}")

Kết quả:

Copy
Index: 0, Fruit: apple
Index: 1, Fruit: banana
Index: 2, Fruit: cherry

Trong ví dụ này, hàm enumerate(fruits) trả về các cặp giá trị (index, fruit), và biến index sẽ nhận giá trị của chỉ số, còn biến fruit sẽ nhận giá trị của phần tử tương ứng.

Vòng lặp for với từ điển

Từ điển (dictionary) trong Python là một tập hợp các cặp khóa-giá trị. Bạn có thể sử dụng vòng lặp for để lặp qua các cặp khóa-giá trị này:

python Copy
person = {'name': 'Alice', 'age': 25, 'city': 'New York'}
for key, value in person.items():
    print(f"{key}: {value}")

Kết quả:

Copy
name: Alice
age: 25
city: New York

Trong ví dụ này, phương thức items() của từ điển person trả về các cặp (key, value), và biến key sẽ nhận giá trị của khóa, còn biến value sẽ nhận giá trị của giá trị tương ứng.

Sử dụng câu lệnh else với vòng lặp for

Python cho phép bạn sử dụng câu lệnh else cùng với vòng lặp for. Khối lệnh else sẽ được thực thi khi vòng lặp kết thúc mà không gặp phải câu lệnh break:

python Copy
for i in range(5):
    print(i)
else:
    print("Vòng lặp đã kết thúc")

Kết quả:

Copy
0
1
2
3
4
Vòng lặp đã kết thúc

Trong ví dụ này, khối lệnh else sẽ được thực thi sau khi vòng lặp for kết thúc.

Vòng lặp for lồng nhau

Bạn có thể sử dụng vòng lặp for lồng nhau để lặp qua các dãy phức tạp hơn. Ví dụ, bạn có thể lặp qua một danh sách các danh sách:

python Copy
matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

for row in matrix:
    for element in row:
        print(element, end=' ')
    print()

Kết quả:

Copy
1 2 3 
4 5 6 
7 8 9 

Trong ví dụ này, vòng lặp for bên ngoài lặp qua từng hàng của ma trận, và vòng lặp for bên trong lặp qua từng phần tử trong hàng đó.

Vòng lặp for với list comprehension

List comprehension là một cách viết ngắn gọn và hiệu quả để tạo danh sách mới từ một danh sách hiện có. Bạn có thể sử dụng vòng lặp for trong list comprehension để tạo danh sách mới:

python Copy
numbers = [1, 2, 3, 4, 5]
squares = [x**2 for x in numbers]
print(squares)

Kết quả:

Copy
[1, 4, 9, 16, 25]

Trong ví dụ này, list comprehension [x**2 for x in numbers] tạo ra một danh sách mới chứa các bình phương của các số trong danh sách numbers.

Kết luận

Vòng lặp for là một công cụ mạnh mẽ và linh hoạt trong Python, cho phép bạn lặp qua các phần tử của các dãy khác nhau một cách dễ dàng và hiệu quả. Bằng cách nắm vững cách sử dụng vòng lặp for với các loại dữ liệu khác nhau như danh sách, chuỗi, tuple, từ điển, và các đối tượng có thể lặp khác, bạn có thể viết mã Python ngắn gọn, dễ đọc và hiệu quả hơn.

Avatar
Được viết bởi

Admin Team

Gợi ý câu hỏi phỏng vấn

Không có dữ liệu

Không có dữ liệu

Gợi ý bài viết

Không có dữ liệu

Không có dữ liệu

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào