CodeGym /Java 课程 /Python SELF ZH /遍历集合元素的循环

遍历集合元素的循环

Python SELF ZH
第 9 级 , 课程 7
可用

7.1 for循环

使用循环迭代集合中的元素是编程中的常见任务,特别是当需要处理每个集合的元素时。

在Python中通常使用for循环来迭代集合的元素。由于集合中的元素没有固定顺序,for循环非常适合遍历集合中的元素(因为它使用迭代器机制)。

例子:


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

for element in my_set:
    print(element)
        

看起来很简单—让我们添加一些实际的例子:

元素求和

来看一个将所有集合元素求和的例子。


my_set = {1, 2, 3, 4, 5}
total = 0
            
for element in my_set:
    total += element
            
print("集合元素的和:", total)
            
        

输出:


集合元素的和: 15
        

在这个例子中,我们使用for循环依次将集合my_set的每个元素添加到变量total中,结果是所有集合元素的和。

查找最大元素

现在让我们找出集合中的最大元素。


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("集合的最大元素:", max_element)
        

输出:


集合的最大元素: 5
        

在这个例子中,for循环用于迭代集合中的所有元素并确定最大值。

元素过滤

让我们创建一个新集合,只包含原集合中偶数的元素。


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("偶数集合:", even_set)
            
        

偶数集合: {2, 4, 6, 8, 10}

在这个例子中,for循环用于过滤符合条件(偶数)的元素,并将它们添加到新集合even_set中。

7.2 使用enumerate()

enumerate()函数返回一个迭代器,该迭代器生成由索引和与可迭代对象中相应元素组成的元组。

使用enumerate()可以在迭代时获取元素的索引,这在处理集合时可能会很有用。然而,由于集合是无序集合,每次迭代时元素的顺序并不保证。

enumerate()函数与其他任何可迭代对象对集合的工作方式相同。

带索引的迭代

使用enumerate()在迭代时获取集合元素的索引。


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

for index, element in enumerate(my_set):
    print(f"索引: {index}, 元素: {element}")
        

可能的输出:


索引: 0, 元素: 40
索引: 1, 元素: 10
索引: 2, 元素: 50
索引: 3, 元素: 20
索引: 4, 元素: 30
        

将索引和元素保存在列表中

来看一个例子,我们将集合的索引和元素保存到列表中以便进一步处理。


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

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

可能的输出:


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

使用索引处理元素

来看一个例子,我们在使用集合元素的索引时执行特定操作。


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

可能的输出:


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

7.3 使用while循环

原则上可以使用while循环来处理集合。例如,可以从集合中逐个提取任务(元素),直到它为空:


my_set = {"打扫房子", "洗碗", "买面包"}
while len(my_set) > 0:
    task = my_set.pop()
    print(task)
        

这种方法是可行的。总之,你有许多方式来处理集合中的元素——选择任何你喜欢的方法去使用。

评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION