Trong Python, việc lặp qua các phần tử của một danh sách (List) là một thao tác rất phổ biến và quan trọng. Python cung cấp nhiều cách để thực hiện việc này, bao gồm sử dụng vòng lặp for
, vòng lặp while
, và các phương pháp khác như list comprehension. Bài viết này sẽ hướng dẫn chi tiết cách sử dụng các vòng lặp để làm việc với List trong Python, kèm theo các ví dụ minh họa.
Vòng lặp for
Vòng lặp for
là cách phổ biến nhất để lặp qua các phần tử của một List trong Python. Cú pháp của vòng lặp for
rất đơn giản và dễ hiểu.
Ví dụ cơ bản
python
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
Output:
apple
banana
cherry
Trong ví dụ trên, vòng lặp for
lặp qua từng phần tử trong danh sách fruits
và in ra từng phần tử.
Lặp qua chỉ số của List
Nếu bạn cần truy cập cả chỉ số và giá trị của các phần tử trong List, bạn có thể sử dụng hàm range()
kết hợp với len()
.
python
fruits = ["apple", "banana", "cherry"]
for i in range(len(fruits)):
print(f"Index {i}: {fruits[i]}")
Output:
Index 0: apple
Index 1: banana
Index 2: cherry
Sử dụng enumerate()
Hàm enumerate()
cung cấp một cách tiện lợi để lặp qua cả chỉ số và giá trị của các phần tử trong List.
python
fruits = ["apple", "banana", "cherry"]
for index, fruit in enumerate(fruits):
print(f"Index {index}: {fruit}")
Output:
Index 0: apple
Index 1: banana
Index 2: cherry
Vòng lặp while
Vòng lặp while
cũng có thể được sử dụng để lặp qua các phần tử của một List. Vòng lặp while
tiếp tục lặp cho đến khi điều kiện kiểm tra trở thành False
.
Ví dụ cơ bản
python
fruits = ["apple", "banana", "cherry"]
i = 0
while i < len(fruits):
print(fruits[i])
i += 1
Output:
apple
banana
cherry
Lặp với điều kiện
Bạn có thể sử dụng vòng lặp while
để lặp qua các phần tử của List dựa trên một điều kiện cụ thể.
python
fruits = ["apple", "banana", "orange", "grape"]
i = 0
while i < len(fruits):
if len(fruits[i]) > 5:
print(fruits[i])
i += 1
Output:
banana
orange
List Comprehension
List comprehension là một cách ngắn gọn và hiệu quả để tạo ra các List mới từ các List hiện có. Nó cũng có thể được sử dụng để lặp qua các phần tử của List.
Ví dụ cơ bản
python
fruits = ["apple", "banana", "cherry"]
[print(fruit) for fruit in fruits]
Output:
apple
banana
cherry
Tạo List mới từ List hiện có
python
numbers = [1, 2, 3, 4, 5]
squared_numbers = [number ** 2 for number in numbers]
print(squared_numbers)
Output:
[1, 4, 9, 16, 25]
Lọc phần tử với điều kiện
python
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = [number for number in numbers if number % 2 == 0]
print(even_numbers)
Output:
[2, 4, 6, 8, 10]
Lặp qua List lồng nhau
Khi làm việc với các List lồng nhau (List chứa các List khác), bạn có thể sử dụng vòng lặp lồng nhau hoặc list comprehension để lặp qua các phần tử.
Sử dụng vòng lặp lồng nhau
python
nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
for sublist in nested_list:
for item in sublist:
print(item, end=' ')
print()
Output:
1 2 3
4 5 6
7 8 9
Sử dụng List Comprehension
python
nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
flattened_list = [item for sublist in nested_list for item in sublist]
print(flattened_list)
Output:
[1, 2, 3, 4, 5, 6, 7, 8, 9]
Các phương pháp khác
Sử dụng map()
Hàm map()
có thể được sử dụng để áp dụng một hàm lên từng phần tử của List.
python
numbers = [1, 2, 3, 4, 5]
doubled_numbers = list(map(lambda x: x * 2, numbers))
print(doubled_numbers)
Output:
[2, 4, 6, 8, 10]
Sử dụng filter()
Hàm filter()
có thể được sử dụng để lọc các phần tử của List dựa trên một điều kiện.
python
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers)
Output:
[2, 4, 6, 8, 10]
Sử dụng itertools.chain()
Hàm itertools.chain()
có thể được sử dụng để lặp qua các List lồng nhau.
python
from itertools import chain
nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
flattened_list = list(chain(*nested_list))
print(flattened_list)
Output:
[1, 2, 3, 4, 5, 6, 7, 8, 9]
Kết luận
Trong bài viết này, chúng ta đã tìm hiểu cách sử dụng các vòng lặp for
, while
, và list comprehension để lặp qua các phần tử của List trong Python. Chúng ta cũng đã xem xét các phương pháp khác như map()
, filter()
, và itertools.chain()
để làm việc với List. Hy vọng rằng các ví dụ minh họa này sẽ giúp bạn hiểu rõ hơn về cách làm việc với List trong Python và áp dụng chúng vào các bài toán thực tế của mình.