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

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().

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.

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

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ể.

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

fruits = ["apple", "banana", "cherry"]
[print(fruit) for fruit in fruits]

Output:

apple
banana
cherry

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

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

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

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

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.

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.

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.

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.

Avatar
Được viết bởi

TechMely Team

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

entry

Cho biết một số ưu điểm của Linked List?

entry

Hãy định nghĩa về Linked List?

entry

Hãy định nghĩa về Linked List?

Bình luận

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

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

Khoá học javascript từ cơ bản đến chuyên sâuYoutube Techmely