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)
這種方法會運行。總的來說,你有很多方法可以處理一組元素——使用任何你喜歡的方式。
GO TO FULL VERSION