遍歷列表-for循環
列表中存儲的元素可能非常多,如果想一個一個的訪問列表中的元素,可能是一件十分頭疼的事。那有沒有什么好的辦法呢?當然有!使用 for循環
假如有一個食物名單列表,通過 for循環 將列表中的食物名稱都打印出來
# 定義一個食物名單列表foods = ['potato', 'tomato', 'noodles', 'apple', 'pizza']# 循環訪問foods列表for food in foods: print(food)
輸出:
potato tomato noodles apple pizza
for循環 將foods列表中的元素依次輸出了出來
for food in foods: 這行代碼表示將foods列表中的元素依次取出,每次次元素的值賦給變量food;本句代碼最后以冒號結尾
print(food) 本行代碼之前有四個字符的 縮進 ,表示這行代碼屬于 for food in foods: 的代碼塊
for循環每次從列表中取出一個元素后,都會進入代碼塊中執行一遍,即輸出元素的名稱;直到將列表所有的元素都遍歷一次后,循環停止
# 定義一個食物名單列表foods = ['potato', 'tomato', 'noodles', 'apple', 'pizza']# 循環訪問foods列表for food in foods: print(food)# 循環之外的代碼print('循環已經完畢')print('循環已經完畢') 的前面沒有縮進,說明它不屬于for循環塊中的代碼;所以,當for循環完畢后,會接著執行下面的這句代碼
輸出:
potato
tomato
noodles
apple
pizza
循環已經完畢
其中,變量 food 是一個臨時變量,可以隨意取名稱;不過建議取有意義的名稱,在這里用foods表示食物列表,用food表示列表中的食物,方便理解
循環也可以嵌套使用
假如小明喜歡一些食物,這些食物名稱被存儲到foods1列表中;小紅喜歡另一些食物,這些食物名稱被存儲到foods2中;現在想知道小明與小紅所喜歡的食物是否有相同的,則可用如下方式:
# 小明喜歡的食物列表 foods1 = ['potato', 'tomato', 'noodles', 'apple', 'pizza']# 小紅喜歡的食物列表foods2 = ['chocolate', 'pizza', 'maize', 'watermelon']# 通嵌套循環尋找出兩個列表中相同的食物名稱for food1 in foods1: for food2 in foods2: if food1 == food2: print('小明和小紅共同喜歡的食物是', food1)
輸出:
小明和小紅共同喜歡的食物是 pizza
for food2 in foods2: 前面有縮進,說明它是 for food1 in foods1: 塊中的代碼;第一外循環從小明喜歡的食物列表中依次取出食物名稱,然后進行自身的代碼塊中;第二行代碼依次遍歷小紅喜歡的食物列表,然后進行循環體(代碼塊),然后判斷foods1中的第一個元素與foods2中的第一個元素是否一樣,foods1中的第一個元素與foods2中的第二個元素是否一樣,……,foods1中的第一個元素與foods2中的第四個元素是否一樣,如果一樣,則執行打印 print('小明和小紅共同喜歡的食物是', food1) ;接著判斷foods1中的第二個元素與foods2中的第1個元素是否一樣,……,foods1中的第二個元素與foods2中的第四個元素是否一樣,如果一樣,則執行打印 print('小明和小紅共同喜歡的食物是', food1) ……直到判斷到foods1中的第五與foods2的所有元素比較一次后,嵌套循環執行完畢
新聞熱點
疑難解答