Khóa học python

Vòng lặp với List trong Python

0 phút đọc

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 Copy
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)

Output:

Copy
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 Copy
fruits = ["apple", "banana", "cherry"]
for i in range(len(fruits)):
    print(f"Index {i}: {fruits[i]}")

Output:

Copy
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 Copy
fruits = ["apple", "banana", "cherry"]
for index, fruit in enumerate(fruits):
    print(f"Index {index}: {fruit}")

Output:

Copy
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 Copy
fruits = ["apple", "banana", "cherry"]
i = 0
while i < len(fruits):
    print(fruits[i])
    i += 1

Output:

Copy
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 Copy
fruits = ["apple", "banana", "orange", "grape"]
i = 0
while i < len(fruits):
    if len(fruits[i]) > 5:
        print(fruits[i])
    i += 1

Output:

Copy
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 Copy
fruits = ["apple", "banana", "cherry"]
[print(fruit) for fruit in fruits]

Output:

Copy
apple
banana
cherry

Tạo List mới từ List hiện có

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

Output:

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

Lọc phần tử với điều kiện

python Copy
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:

Copy
[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 Copy
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:

Copy
1 2 3
4 5 6
7 8 9

Sử dụng List Comprehension

python Copy
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:

Copy
[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 Copy
numbers = [1, 2, 3, 4, 5]
doubled_numbers = list(map(lambda x: x * 2, numbers))
print(doubled_numbers)

Output:

Copy
[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 Copy
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:

Copy
[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 Copy
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:

Copy
[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.

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