示例如下:
# -*- coding: utf-8 -*-
def print_elem(container):
for elem in container:
print(elem, end=' | ')
print()
'''
在迭代過程中修改迭代序列不安全,所以要修改序列時,
要對它的副本做迭代,而不是原序列本身
'''arr = [1, 2, 3, 4]
for elem in arr[:]: # 想要修改arr,則通過arr的副本arr[:]做迭代
if elem == 3:
arr.insert(0, elem)
print_elem(arr)
''' 若要對原序列做修改,則可以通過下標的for迴圈實現,不要用迭代 '''
for idx in range(len(arr)):
if arr[idx] == 3:
arr[idx] = 5
print_elem(arr)
''' 想要同時得到索引和對應的值,可以使用enumerate '''
for idx, elem in enumerate(arr):
print('(', idx, ',', elem, ')', sep="", end=" ")
print()
''' 想要同時迭代兩個序列,用zip,迭代的次數是較短序列的長度 '''
arr1 = ["cx", "wb"]
arr2 = ["山東", "河北", "江西"]
for person, hometown in zip(arr1, arr2):
print("的家鄉是".format(person, hometown), end=",")
print()
'''迴圈乙個序列按排序順序,使用sorted()函式,set返回乙個新的排序的列表,保留原列表不變。'''
for elem in sorted(set(arr2)):
print(elem, end=",")
print()
# 原列表未改變
print_elem(arr2)
''' 要反向遍歷乙個序列,首先正向生成這個序列,然後呼叫 reversed() 函式。'''
for i in reversed(range(1, 10, 2)):
print(i, end=',')
python 迴圈(迭代)
for 和 while for用來迭代處理,什麼叫迭代?你就當沒看到這個詞,for是把一堆玩意做乙個乙個加工用的,比如吃一袋花生,得乙個乙個剝吧,就是這意思 a abcde 每個字母當做乙個花生,a是一袋子 for i in a 從袋子裡面乙個乙個拿花生,拿出的每乙個花生都起名叫小i君 i i ma...
python中的for迴圈(迭代器機制)
python中的for迴圈 1 x hello 2 for i in x iter x x.iter 3 print i iter x.next iter l x.iter 遵循迭代器協議,生成可迭代物件 print iter l.next for迴圈和索引沒關係 基於迭代器機制 對列表的索引 超出...
python中的for迴圈(迭代器機制)
python中的for迴圈 1 x hello 2 for i in x iter x x.iter 3print i iter x.next iter l x.iter 遵循迭代器協議,生成可迭代物件 print iter l.next for迴圈和索引沒關係 基於迭代器機制 對列表的索引 超出索...