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

Đối với kiểu Set, bạn không thể truy cập các phần tử thông qua chỉ số. Nhưng bạn có thể lặp (hay duyệt) tất cả các phần tử có trong Set bằng cách sử dụng vòng lặp for, kết hợp với từ khóa “in” có sẵn trong Python.

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

# Khai bao set gom 5 phan tu
setA = {"oto", "xe may", "may bay", "tau dien", "xe dap"}

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

Kết quả:

may bay
tau dien
xe dap
oto
xe may

Nếu bạn đang cần duyệt một Set và hiển thị kèm theo một số đi kèm các phần tử của chúng, khi đó ta sẽ sử dụng vòng lặp for kết hợp với phương thức enumerate() như sau:

# Khai bao set gom 5 phan tu
setA = {"oto", "xe may", "may bay", "tau dien", "xe dap"}

# Coi i la chi so, va x la gia tri trong set
for i, x in enumerate(setA):
    # Hien thi so i va gia tri x trong set
    print("{0} : {1}".format(i, x))

Kết quả:

0 : may bay
1 : oto
2 : tau dien
3 : xe dap
4 : xe may

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

Đối với các kiểu, List hay kiểu Tuple trong Python sẽ tồn tại chỉ số cho mỗi phần tử của chúng, vì vậy việc duyệt các phần tử của List hay Tuple có thể duyệt từ chỉ số 0 đến chỉ số cuối cùng.

Tuy nhiên, Set lại không tồn tại chỉ số cho mỗi phần tử. Vì vậy để duyệt được Set bằng vòng lặp while ta cần chuyển Set thành kiểu List và thực hiện duyệt bằng while.

Ví dụ dưới đây, chuyển đổi kiểu Set sang kiểu List, sau đó sử dụng vòng lặp while để duyệt các phần tử thông qua chỉ số:

# Khai bao set gom 5 phan tu
setA = {"oto", "xe may", "may bay", "tau dien", "xe dap"}

# Khai bao listA bang cach convert cac phan tu cua setA
listA = list(setA)

# 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ả:

xe dap
xe may
tau dien
may bay
oto

Chú ý: Vì các phần tử trong kiểu Set không có vị trí cố định nên khi thực thi chương trình, các phần tử sẽ thay đổi vị trí!