Python中的迭代遍歷 for in


遍歷就是從頭到尾依次從列表中獲取數據,在循環體內部針對每一個元素,執行相同的操作。

在Python中為了提高列表的遍歷效率,專門提供的迭代(iteration)遍歷。

使用 for...in 就能夠在 Python 中實現迭代遍歷。

在 Python 中,for 循環可以遍歷任何序列的項目,如列表、元組、字典以及字符串。

本文只用列表作簡單舉例,涉及到個別數據類型的特殊用法,我們后面再補充。

for...in 循環流程圖

for基礎用法

語法格式:

# for 循環內部使用的變量 in 列表
for name in name_list:
    循環內部針對列表元素進行操作
    print(name)

盡管 Python 的列表中可以存儲不同類型的數據,但是在開發中,更多的應用場景是用列表存儲相同類型的數據。

通過迭代遍歷,在循環體內部,針對列表中的每一項元素,執行相同的操作。

實例

fruits = ['banana', 'apple',  'mango']
for fruit in fruits:
    print("當前水果 : %s" % fruit)
#當前水果 : banana
#當前水果 : apple
#當前水果 : mango

我們也通過序列索引來進行迭代循環。

fruits = ['banana', 'apple',  'mango']
for index in range(len(fruits)):
    print('當前水果 : %s' % fruits[index])
#當前水果 : banana
#當前水果 : apple
#當前水果 : mango

我們使用了內置函數 len() 和 range()。

函數 len() 返回列表的長度,即元素的個數。

函數 range() 返回一個序列的數,用於生成一系列連續整數,多用於 for 循環中。

循環使用 else 語句

else 中的語句會在循環正常執行完的情況下執行,即 for循環不是通過 break 跳出而中斷的,while … else 也是一樣。

實例

# 迭代 10 到 20 之間的數字
for num in range(10, 20):
    # 根據因子迭代
    for i in range(2, num):
        if num % i == 0:
            j = num/i
            print('%d 等於 %d * %d' % (num, i, j))
            break
    # 循環的 else 部分
    else:
        print('%d是一個質數' % num)

結果

10 等於 2 * 5
11是一個質數
12 等於 2 * 6
13是一個質數
14 等於 2 * 7
15 等於 3 * 5
16 等於 2 * 8
17是一個質數
18 等於 2 * 9
19是一個質數

編程的朝聖之路


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM