CodeGym /Các khóa học /Python SELF VI /Duyệt qua các phần tử của tập hợp

Duyệt qua các phần tử của tập hợp

Python SELF VI
Mức độ , Bài học
Có sẵn

7.1 Vòng lặp for

Sử dụng vòng lặp để duyệt qua các phần tử của tập hợp là một nhiệm vụ phổ biến trong lập trình, đặc biệt khi cần xử lý từng phần tử của tập hợp.

Để duyệt qua các phần tử của tập hợp trong Python, thường dùng vòng lặp for. Vì tập hợp không có thứ tự cố định cho các phần tử, vòng lặp for rất thích hợp để duyệt qua các phần tử của tập hợp (vì sử dụng cơ chế iterators).

Ví dụ:


my_set = {1, 2, 3, 4, 5}

for element in my_set:
    print(element)
        

Trông rất đơn giản – hãy thêm một vài ví dụ thực tiễn:

Tính tổng các phần tử của tập hợp

Xem xét ví dụ, trong đó chúng ta tính tổng tất cả các phần tử của tập hợp.


my_set = {1, 2, 3, 4, 5}
total = 0
            
for element in my_set:
    total += element
            
print("Tổng các phần tử của tập hợp:", total)
            
        

Xuất ra:


Tổng các phần tử của tập hợp: 15
        

Trong ví dụ này, chúng ta sử dụng vòng lặp for để lần lượt cộng từng phần tử của my_set vào biến total, kết quả là tổng của tất cả các phần tử trong tập hợp.

Tìm phần tử lớn nhất

Bây giờ hãy tìm phần tử lớn nhất trong tập hợp.


my_set = {1, 2, 3, 4, 5}
max_element = None
            
for element in my_set:
    if max_element is None or element > max_element:
        max_element = element
            
print("Phần tử lớn nhất của tập hợp:", max_element)
        

Xuất ra:


Phần tử lớn nhất của tập hợp: 5
        

Trong ví dụ này, vòng lặp for được sử dụng để duyệt qua tất cả các phần tử của tập hợp và xác định giá trị lớn nhất.

Lọc các phần tử

Hãy tạo một tập hợp mới chỉ chứa các số chẵn từ tập hợp ban đầu.


my_set = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
even_set = set()
            
for element in my_set:
    if element % 2 == 0:
        even_set.add(element)
            
print("Tập hợp số chẵn:", even_set)
            
        

Tập hợp số chẵn: {2, 4, 6, 8, 10}

Trong ví dụ này, vòng lặp for được sử dụng để lọc các phần tử thỏa mãn điều kiện (chẵn), và thêm chúng vào tập hợp mới even_set.

7.2 Sử dụng enumerate()

Hàm enumerate() trả về một iterator, tạo ra các cặp bao gồm chỉ mục và phần tử tương ứng từ đối tượng có thể lặp.

Khi làm việc với các tập hợp, việc sử dụng enumerate() có thể hữu ích để lấy chỉ mục của các phần tử trong quá trình duyệt. Tuy nhiên, vì tập hợp là các bộ sưu tập không có thứ tự, thứ tự các phần tử trong mỗi lần lặp không được đảm bảo.

Hàm enumerate() hoạt động với các tập hợp cũng như với bất kỳ đối tượng có thể lặp nào khác.

Duyệt cùng với chỉ mục

Sử dụng enumerate() để lấy chỉ mục của các phần tử tập hợp trong quá trình lặp.


my_set = {10, 20, 30, 40, 50}

for index, element in enumerate(my_set):
    print(f"Chỉ mục: {index}, Phần tử: {element}")
        

Kết quả có thể:


Chỉ mục: 0, Phần tử: 40
Chỉ mục: 1, Phần tử: 10
Chỉ mục: 2, Phần tử: 50
Chỉ mục: 3, Phần tử: 20
Chỉ mục: 4, Phần tử: 30
        

Lưu trữ chỉ mục và phần tử vào danh sách

Xem xét ví dụ, trong đó chúng ta lưu trữ chỉ mục và phần tử tập hợp vào một danh sách để xử lý sau này.


my_set = {"apple", "banana", "cherry"}

indexed_elements = [(index, element) for index, element in enumerate(my_set)]
print(indexed_elements)
        

Kết quả có thể:


[(0, 'banana'), (1, 'cherry'), (2, 'apple')]
        

Xử lý các phần tử sử dụng chỉ mục của chúng

Xem xét ví dụ, trong đó chúng ta thực hiện một số thao tác nhất định trên các phần tử tập hợp, sử dụng chỉ mục của chúng.


my_set = {1, 2, 3, 4, 5}
squared_elements = {}
            
for index, element in enumerate(my_set):
    squared_elements[index] = element ** 2
            
print(squared_elements)
            
        

Kết quả có thể:


{0: 16, 1: 1, 2: 25, 3: 4, 4: 9}
        

7.3 Sử dụng vòng lặp while

Thực tế khi làm việc với các tập hợp, cũng có thể sử dụng vòng lặp while. Ví dụ, có thể lấy từng công việc (phần tử) ra khỏi tập hợp, trong khi nó không còn trống:


my_set = {"dọn dẹp nhà cửa", "rửa bát", "mua bánh mì"}
while len(my_set) > 0:
    task = my_set.pop()
    print(task)
        

Cách tiếp cận này sẽ hoạt động. Nói chung, bạn có nhiều cách để làm việc với một loạt phần tử – hãy chọn bất kỳ cách nào bạn muốn.

Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION