1. Duyệt List bằng vòng lặp for trong Python

Việc duyệt qua các phần tử trong List thường được sử dụng để lấy ra từng phần tử có trong List nhằm phục vụ cho các thao tác chỉnh sửa, cập nhật, hiển thị…

Python cho phép bạn có thể duyệt các phần tử trong một List bằng cách sử dụng một vòng lặp for như sau:

# Khai bao list gom 5 phan tu
listA = ["oto", "xe may", "may bay", "tau dien", "xe dap"]

# Coi x la cac phan tu co trong listA
for x in listA:
    # Hien thi gia tri x 
    print(x)

Ngoài cách ở trên, ta cũng có thể sử dụng vòng lặp for để duyệt một List thông qua chỉ mục của mỗi phần tử có trong List như sau:

# Khai bao list gom 5 phan tu
listA = ["oto", "xe may", "may bay", "tau dien", "xe dap"]

# Tao vong lap i chay tu 0 den het chi muc cua listA
for i in range(len(listA)):
    # Hien thi phan tu listA[0], listA[1], listA[2]... listA[4]
    print(listA[i])

Kết quả:

oto
xe may
may bay
tau dien
xe dap

2. Duyệt List bằng vòng lặp while trong Python

Ngoài cách sử dụng vòng lặp for, bạn cũng có thể lặp qua các phần tử trong List bằng cách sử dụng một vòng lặp while

Ta cần sử dụng hàm len() để xác định độ dài của List, sau đó bắt đầu lặp từ phần tử có chỉ mục 0 đến tất cả các chỉ mục của các phần tử có trong List như sau:

# Khai bao list gom 5 phan tu
listA = ["oto", "xe may", "may bay", "tau dien", "xe dap"]

# Khai bao bien chi muc bat dau
i = 0

# Lap khi i van nho hon do dai cua listA
while i < len(listA):
    # Hien thi cac phan tu listA[0], listA[1], listA[2]... listA[4]
    print(listA[i])
    # Tang i them mot don vi de chuyen den chi muc phan tu tiep theo 
    i = i + 1

Kết quả:

oto
xe may
may bay
tau dien
xe dap

3. Sử dụng List comprehension trong Python

Giả sử ta chỉ cần duyệt qua List hiện có và mong muốn tạo một List mới dựa trên các giá trị của List hiện có. Khi đó ta có thể sử dụng vòng lặp for kết hợp với câu điều kiện if như sau:

# Khai bao list gom 5 phan tu
listA = ["oto", "xe may", "may bay", "tau dien", "xe dap"]

# Khai bao listB khong co phan tu nao
listB = []

# Duyet cac phan tu trong listA va gan bang x
for x in listA:
    # Neu co phan tu co ky tu "a" trong listA
    if "a" in x:
        # Thuc hien them phan tu x co chua ky tu "a" vao listB
        listB.append(x)
        
# Hien thi listB
print("listB = {0}".format(listB))

Hoặc có thể sử dụng cú pháp ngắn gọn trên một dòng bên dưới để tạo ra một List mới dựa trên giá trị của các List hiện có như sau:

# Khai bao list gom 5 phan tu
listA = ["oto", "xe may", "may bay", "tau dien", "xe dap"]

# Khai bao listB bang cach duyet qua cac phan tu x co chua ky tu "a" trong listA
listB = [ x for x in listA if "a" in x]

# Hien thi listB
print("listB = {0}".format(listB))

Kết quả:

listB = [‘xe may’, ‘may bay’, ‘tau dien’, ‘xe dap’]

Sử dụng vòng lặp while cũng có thể duyệt qua một List đã có sẵn và kết hợp với câu điều kiện if để tạo ra một List mới dựa trên các phần tử của List đã có sẵn như sau:

# Khai bao list gom 5 phan tu
listA = ["oto", "xe may", "may bay", "tau dien", "xe dap"]

# Khai bao listB khong co phan tu nao
listB = []

# Khai bao bien chi muc bat dau
i = 0

# Lap khi i van nho hon do dai cua listA
while i < len(listA):
    # Neu co phan tu co chi muc i va chua ky tu "a" trong listA
    if "a" in listA[i]:
        # Thuc hien them phan tu co chi muc i va chua ky tu "a" vao listB
        listB.append(listA[i])
    # Tang i them mot don vi de chuyen den chi muc phan tu tiep theo 
    i = i + 1

# Hien thi listB
print("listB = {0}".format(listB))

Kết quả:

listB = [‘xe may’, ‘may bay’, ‘tau dien’, ‘xe dap’]