Python - Loop Sets

Loop Through Set Items

Lặp qua set mục trong Python đề cập đến việc lặp qua từng phần tử trong một tập hợp. Chúng ta có thể thực hiện các thao tác cần thiết trên mỗi mục sau đó. Các thao tác này bao gồm in danh sách các phần tử, các thao tác điều kiện, lọc các phần tử, v.v.

Không giống như danh sách và tuple, tập hợp là các tập hợp không có thứ tự, vì vậy các phần tử sẽ được truy cập theo một thứ tự tùy ý. Bạn có thể sử dụng một vòng lặp for để lặp qua các mục trong một tập hợp.

Loop Through Set Items with For Loop

Vòng lặp for trong Python được sử dụng để lặp qua một chuỗi (như danh sách, tuple, từ điển, chuỗi hoặc khoảng) hoặc bất kỳ đối tượng có thể lặp nào khác. Nó cho phép bạn thực thi một khối mã lặp đi lặp lại cho mỗi mục trong chuỗi.

Trong một vòng lặp for, bạn có thể truy cập từng mục trong một chuỗi bằng cách sử dụng một biến, cho phép bạn thực hiện các phép toán hoặc logic dựa trên giá trị của mục đó. Chúng ta có thể lặp qua các mục trong tập hợp bằng cách sử dụng vòng lặp for để lặp qua từng mục trong tập hợp.

Syntax

Dưới đây là cú pháp cơ bản để lặp qua các mục trong một tập hợp sử dụng vòng lặp for trong Python −

for item in set:
   # Code block to execute

Example

Trong ví dụ sau, chúng ta đang sử dụng vòng lặp for để lặp qua từng phần tử trong tập hợp "my_set" và lấy từng phần tử.

# Defining a set with multiple elements
my_set = {25, 12, 10, -21, 10, 100}

# Loop through each item in the set 
for item in my_set:
   # Performing operations on each element
   print("Item:", item)

Output

Dưới đây là đầu ra của đoạn mã trên −

Item: 100
Item: 25
Item: 10
Item: -21
Item: 12

Loop Through Set Items with While Loop

Vòng lặp while trong Python được sử dụng để thực hiện lặp đi lặp lại một khối mã miễn là điều kiện đã chỉ định đánh giá là "True".

Chúng ta có thể lặp qua các mục trong tập hợp bằng cách sử dụng vòng lặp while bằng cách chuyển đổi tập hợp thành một bộ lặp và sau đó lặp qua từng phần tử cho đến khi bộ lặp đạt đến cuối tập hợp.

An iterator is an object that allows you to traverse through all the elements of a collection (such as a list, tuple, set, or dictionary) one element at a time.

Example

Trong ví dụ dưới đây, chúng ta đang lặp qua một tập hợp bằng cách sử dụng một bộ lặp (iterator) và một vòng lặp while. Khối "try" sẽ lấy và in ra từng mục, trong khi khối "except StopIteration" sẽ ngắt vòng lặp khi không còn mục nào để lấy nữa.

# Defining a set with multiple elements
my_set = {1, 2, 3, 4, 5}

# Converting the set to an iterator
set_iterator = iter(my_set)

# Looping through each item in the set using a while loop
while True:
   try:
      # Getting the next item from the iterator
      item = next(set_iterator)
      # Performing operations on each element
      print("Item:", item)
   except StopIteration:
      # If StopIteration is raised, break from the loop
      break

Output

Đầu ra của đoạn mã trên như sau −

Item: 1
Item: 2
Item: 3
Item: 4
Item: 5

Iterate using Set Comprehension

Một comprehension tập hợp trong Python là một cách ngắn gọn để tạo ra các tập hợp bằng cách lặp qua một đối tượng có thể lặp và tùy chọn áp dụng một điều kiện. Nó được sử dụng để tạo ra các tập hợp bằng một cú pháp tương tự như list comprehensions nhưng kết quả là một tập hợp, đảm bảo tất cả các phần tử là duy nhất và không có thứ tự.

Chúng ta có thể lặp qua bằng cách sử dụng set comprehension bằng cách định nghĩa một biểu thức set comprehension trong dấu ngoặc nhọn {} và chỉ định logic lặp và điều kiện trong biểu thức. Cú pháp như sau −

result_set = {expression for item in iterable if condition}

Ở đâu,

  • expression − Đây là một biểu thức để đánh giá cho mỗi mục trong iterable.

  • item − Nó là một biến đại diện cho từng phần tử trong iterable.

  • iterable − Đây là một tập hợp để lặp qua (ví dụ: danh sách, tuple, tập hợp).

  • condition − Đây là điều kiện tùy chọn để lọc các phần tử được bao gồm trong tập hợp kết quả.

Example

Trong ví dụ này, chúng ta đang sử dụng một biểu thức tập hợp (set comprehension) để tạo ra một tập hợp chứa các bình phương của các số chẵn từ danh sách gốc "numbers".

# Original list
numbers = [1, 2, 3, 4, 5]

# Set comprehension to create a set of squares of even numbers
squares_of_evens = {x**2 for x in numbers if x % 2 == 0}
# Print the resulting set
print(squares_of_evens)

Output

Chúng ta nhận được đầu ra như hình dưới đây −

{16, 4}

Iterate through a Set Using the enumerate() Function

Hàm enumerate() trong Python được sử dụng để lặp qua một đối tượng có thể lặp lại (iterable) trong khi cũng cung cấp chỉ số của từng phần tử.

Chúng ta có thể lặp qua một tập hợp bằng cách sử dụng hàm enumerate() bằng cách chuyển đổi tập hợp thành danh sách và sau đó áp dụng enumerate() để lặp qua các phần tử cùng với vị trí chỉ mục của chúng. Cú pháp như sau −

for index, item in enumerate(list(my_set)):
   # Your code here

Example

Trong ví dụ dưới đây, chúng ta đầu tiên chuyển đổi một tập hợp thành một danh sách. Sau đó, chúng ta lặp qua danh sách bằng cách sử dụng vòng lặp for với hàm enumerate(), lấy từng mục cùng với chỉ số của nó −

# Converting the set into a list
my_set = {1, 2, 3, 4, 5}
set_list = list(my_set)

# Iterating through the list 
for index, item in enumerate(set_list):
   print("Index:", index, "Item:", item)

Output

Kết quả được tạo ra như hình dưới đây −

Index: 0 Item: 1
Index: 1 Item: 2
Index: 2 Item: 3
Index: 3 Item: 4
Index: 4 Item: 5

Loop Through Set Items with add() Method

Phương thức add() trong Python được sử dụng để thêm một phần tử đơn vào một tập hợp (set). Nếu phần tử đã có sẵn trong tập hợp, tập hợp sẽ không thay đổi.

We cannot directly loop through set items using the add() method because add() is used specifically to add individual elements to a set, not to iterate over existing elements.

Để lặp qua các mục trong tập hợp, chúng ta sử dụng các phương pháp như vòng lặp for hoặc biểu thức tập hợp.

Example

Trong ví dụ này, chúng ta lặp qua một chuỗi số và thêm mỗi số vào tập hợp bằng cách sử dụng phương thức add(). Vòng lặp lặp qua các phần tử hiện có, trong khi phương thức add() thêm các phần tử mới vào tập hợp.

# Creating an empty set
my_set = set()  

# Looping through a sequence and adding elements to the set
for i in range(5):
   my_set.add(i)
print(my_set)  

Nó sẽ tạo ra đầu ra sau đây −

{0, 1, 2, 3, 4}