最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python中的嵌套循環(huán)詳情

 更新時間:2022年03月23日 14:27:16   作者:來西瓜  
這篇文章主要介紹了Python中的嵌套循環(huán)詳情,嵌套循環(huán)就是一個外循環(huán)的主體部分是一個內循環(huán)。內循環(huán)或外循環(huán)可以是任何類型,下列詳情介紹內容,需要的朋友可以參考一下

1 什么是嵌套循環(huán)

所謂嵌套循環(huán)就是一個外循環(huán)的主體部分是一個內循環(huán)。內循環(huán)或外循環(huán)可以是任何類型,例如 while 循環(huán)或 for 循環(huán)。 例如,外部 for 循環(huán)可以包含一個 while 循環(huán),反之亦然。外循環(huán)可以包含多個內循環(huán)。 循環(huán)鏈沒有限制。

在嵌套循環(huán)中,迭代次數(shù)將等于外循環(huán)中的迭代次數(shù)乘以內循環(huán)中的迭代次數(shù)。在外循環(huán)的每次迭代中,內循環(huán)執(zhí)行其所有迭代。 對于外循環(huán)的每次迭代,內循環(huán)重新開始并在外循環(huán)可以繼續(xù)下一次迭代之前完成其執(zhí)行。嵌套循環(huán)通常用于處理多維數(shù)據(jù)結構,例如打印二維數(shù)組、迭代包含嵌套列表的列表。嵌套循環(huán)是控制流語句的一部分,可幫助您了解 Python 的基礎知識。

2 Python 嵌套 for 循環(huán)

在 Python 中,for 循環(huán)用于迭代序列,例如列表、字符串、元組,以及其他可迭代對象,例如范圍。在 Python 中使用嵌套 for 循環(huán)的語法:

# outer for loop
for element in sequence
# inner for loop
for element in sequence:
body of inner for loop
body of outer for loop

在此示例中,我們在 for 循環(huán)中使用了 for 循環(huán)。 在本例中,我們打印前十個數(shù)字的乘法表。

  • 外部 for 循環(huán)使用 range() 函數(shù)迭代前十個數(shù)字。
  • 對于每個外部數(shù)字,內部 for 循環(huán)將執(zhí)行十次。
  • 在內循環(huán)的主體中,我們將打印外部數(shù)字和當前數(shù)的乘積。
  • 內循環(huán)只不過是外循環(huán)的主體。

示例:編寫一個嵌套的 for 循環(huán)程序以在 Python 中打印乘法表。

# outer loop
for i in range(1, 11):
# nested loop
# to iterate from 1 to 10
for j in range(1, 11):
# print multiplication
print(i * j, end=' ')
print()

輸出:

Python中的嵌套循環(huán)_python

  • 在這個程序中,外部 for 循環(huán)是從 1 到 10 迭代數(shù)字。 range() 返回 10 個數(shù)字。 所以外循環(huán)的總迭代次數(shù)是 10。
  • 在嵌套循環(huán)的第一次迭代中,數(shù)字是 1。在下一次,它是 2。依此類推,直到 10。
  • 接下來,對于外循環(huán)的每次迭代,內循環(huán)將執(zhí)行十次。 內部循環(huán)也將執(zhí)行 10 次,因為我們打印的乘法表最多為 10。
  • 在內部循環(huán)的每次迭代中,我們計算了兩個數(shù)字的乘法。

2.1 嵌套循環(huán)打印圖案

嵌套循環(huán)的另一個最常見用途是打印各種星形和數(shù)字模式。讓我們看看如何使用嵌套循環(huán)在 Python 中打印以下模式。

Python中的嵌套循環(huán)_迭代_02

rows = 5
# outer loop
for i in range(1, rows + 1):
# inner loop
for j in range(1, i + 1):
print("*", end=" ")
print('')
  • 在這個程序中,外循環(huán)是打印的行數(shù)。
  • 行數(shù)是五,所以外循環(huán)會執(zhí)行五次。
  • 接下來,內部循環(huán)是每行中的總列數(shù)。
  • 對于外部循環(huán)的每次迭代,列計數(shù)都會增加 1。
  • 在外循環(huán)的第一次迭代中,列數(shù)為 1,下一次為 2。依此類推。
  • 內部循環(huán)迭代等于列數(shù)。
  • 在內部循環(huán)的每次迭代中,我們打印 star。

2.2 在 for 循環(huán)中的while循環(huán)

在一種循環(huán)中使用另一種類型的循環(huán)非常常見且很有幫助。 我們可以在 for 循環(huán)中放置一個 while 循環(huán)。

假設我們想將列表中的每個名稱重復五次:

  • 在這里,我們將使用外部 for 循環(huán)迭代列表。
  • 外層for循環(huán)每次迭代,內層for循環(huán)執(zhí)行5次,打印當前名稱5次。
# outer loop
for name in names:
# inner while loop
count = 0
while count < 5:
print(name, end=' ')
# print(name)
# increment counter
count = count + 1
print()

輸出:

Python中的嵌套循環(huán)_迭代_03

2.3 實踐:打印一個帶有 5 行 3 列星形的矩形圖案

打印以下星形矩形:

Python中的嵌套循環(huán)_迭代_04

 
# 5 rows
for name in range(5):
# 3 column
for j in range(3):
print('*', end='')
print()

3 打破嵌套循環(huán)

break 語句用于循環(huán)內部退出循環(huán)。 如果在嵌套循環(huán)內使用 break 語句(在另一個循環(huán)內循環(huán)),它將終止最內層循環(huán)。

在下面的示例中,我們有兩個循環(huán)。 外部 for 循環(huán)使用 range() 函數(shù)迭代前四個數(shù)字,內部 for 循環(huán)也迭代前四個數(shù)字。 如果外部編號和內部循環(huán)的當前編號相同,則中斷內部(嵌套)循環(huán)。

for i in range(4):
for j in range(4):
if j == i:
break
print(i, j)

輸出:

Python中的嵌套循環(huán)_迭代_05

4 繼續(xù)嵌套循環(huán)

continue 語句跳過當前迭代并移動到下一個迭代。 在 Python 中,當循環(huán)內遇到 continue 語句時,它會跳過它下面的所有語句并立即跳轉到下一次迭代。

在下面的示例中,我們有兩個循環(huán)。 外部 for 循環(huán)迭代第一個列表,內部循環(huán)也迭代第二個數(shù)字列表。如果外部編號和內部循環(huán)的當前編號相同,則移動到內部循環(huán)的下一次迭代。

first = [2, 4, 6]
second = [2, 4, 6]
for i in first:
for j in second:
if i == j:
continue
print(i, '*', j, '= ', i * j)

輸出:

Python中的嵌套循環(huán)_python_06

5 使用列表理解的單行嵌套循環(huán)

例如,如果您有兩個列表并想要獲取它們的所有組合,為了實現(xiàn)這一點,您需要使用兩個嵌套循環(huán),如下所述。

first = [2, 3, 4]
second = [20, 30, 40]
final = []
for i in first:
for j in second:
final.append(i+j)
print(final)

我們可以使用列表壓縮和嵌套循環(huán)編寫更快速、更緊湊的代碼,

如下所示:

first = [2, 3, 4]
second = [20, 30, 40]
final = [i+j for i in first for j in second]
print(final)

輸出:

Python中的嵌套循環(huán)_python_07

代碼編寫思路:

  • 首先,編寫一個外部 for 循環(huán),它將迭代第一個列表,如 [for i in first]。
  • 接下來,編寫一個內部循環(huán),它將在外部循環(huán)之后迭代第二個列表,例如 [for i in first for j in second]。
  • 最后,計算外數(shù)和內數(shù)之和,如[i+j for i in first for j in second]。
  • 最后,將結果存儲在一個新列表中,例如 final = [i+j for i in first for j in second]。

下面讓我們看看其他的例子:

在這個例子中,我們將在列表中使用兩個 for 循環(huán),最終結果將是一個列表列表。 我們不會在每個列表中包含相同的數(shù)字。 我們將使用 if 條件過濾它們。

final = [[x, y] for x in [10, 20, 30] for y in [30, 10, 50] if x != y]
print(final)

輸出:

Python中的嵌套循環(huán)_python_08

6 Python中的嵌套while循環(huán)

在 Python 中,while 循環(huán)語句在特定條件為真時重復執(zhí)行代碼塊。 當數(shù)字迭代不固定時,我們使用 while 循環(huán)。在本節(jié)中,我們將了解如何在另一個 while 循環(huán)中使用 while 循環(huán)。在 Python 中編寫嵌套的 while 循環(huán)語句的語法如下:

while expression:
while expression:
statement(s)
statement(s)

在下面例子中,我們將在每行打印前 10 個數(shù)字 5 次。

i = 1
while i <= 5:
j = 1
while j <= 10:
print(j, end='')
j = j + 1
i = i + 1
print()

輸出:

Python中的嵌套循環(huán)_python_09

6.1 While 循環(huán)內的 for 循環(huán)

有時在另一種循環(huán)中使用一種循環(huán)會很有幫助。 我們可以在while循環(huán)里面放一個for循環(huán)。假設我們想要打印從 1 到 100 的所有完美數(shù)字。

  • 在這里,我們將使用 while 循環(huán)迭代前 100 個數(shù)字。
  • 在外部while循環(huán)的每次迭代中,內部for循環(huán)從1到當前外部數(shù)字執(zhí)行,以檢查當前數(shù)字是否為完美數(shù)字。(完美數(shù)字是一個數(shù)學概念,感興趣的讀者可再深入查詢)
print('Show Perfect number fom 1 to 100')
n = 2
# outer while loop
while n <= 100:
x_sum = 0
# inner for loop
for i in range(1, n):
if n % i == 0:
x_sum += i
if x_sum == n:
print('Perfect number:', n)
n += 1

輸出:

Python中的嵌套循環(huán)_迭代_10

7 何時在 Python 中使用嵌套循環(huán)?

  • 當您有需要通過相同函數(shù)循環(huán)的嵌套數(shù)組或列表時,嵌套循環(huán)很方便。
  • 當您想使用行和列打印不同的星形和數(shù)字模式時。

記住時間復雜度。 讓我們通過 Python 中嵌套 for 循環(huán)如何工作的示例來理解這一點。我們使用 for 循環(huán)迭代序列或可迭代的給定元素。 就像我在列表中一樣。 這里的時間復雜度是 O(n),因為我們正在迭代列表中的所有項目。執(zhí)行步驟(迭代)的數(shù)量決定了循環(huán)的時間復雜度。當您使用嵌套循環(huán)并且外部和內部循環(huán)都在沒有任何 if 條件的情況下運行時,時間復雜度為 O(n^2),因為對于所有 n 個元素,代碼都會執(zhí)行 n 次。

numbers = [[1, 2, 3], [4, 5, 6]]

cnt = 0
for i in numbers:
for j in i:
print('iteration', cnt, end=': ')
print(j)
cnt = cnt + 1

輸出:

Python中的嵌套循環(huán)_嵌套循環(huán)_11

如果我們在內部循環(huán)中給出一個條件,該條件將在某些元素之后停止執(zhí)行,并且不執(zhí)行內部循環(huán)或外部循環(huán)的所有 n 次迭代,那么它的時間復雜度會更小。

當我們沒有更好的選擇時使用嵌套循環(huán),請記住編寫高效且緊湊的代碼遠勝于編寫復雜的代碼

到此這篇關于Python中的嵌套循環(huán)詳情的文章就介紹到這了,更多相關Python嵌套循環(huán)內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Python實現(xiàn)圖片查找輪廓、多邊形擬合、最小外接矩形代碼

    Python實現(xiàn)圖片查找輪廓、多邊形擬合、最小外接矩形代碼

    這篇文章主要介紹了Python實現(xiàn)圖片查找輪廓、多邊形擬合、最小外接矩形代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • Python HTMLTestRunner測試報告view按鈕失效解決方案

    Python HTMLTestRunner測試報告view按鈕失效解決方案

    這篇文章主要介紹了Python HTMLTestRunner測試報告view按鈕失效解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-05-05
  • django admin組件使用方法詳解

    django admin組件使用方法詳解

    這篇文章主要介紹了django admin組件使用方法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-07-07
  • Python json讀寫方式和字典相互轉化

    Python json讀寫方式和字典相互轉化

    這篇文章主要介紹了Python json讀寫方式和字典相互轉化,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-04-04
  • Python實現(xiàn)獲取照片的地理定位信息

    Python實現(xiàn)獲取照片的地理定位信息

    這篇文章主要為大家詳細介紹了如何使用 Python 的 PIL(Python Imaging Library)庫實現(xiàn)從 JPEG 圖像中獲取經緯度信息,需要的可以參考一下
    2023-05-05
  • Python用二分法求平方根的案例

    Python用二分法求平方根的案例

    這篇文章主要介紹了Python用二分法求平方根的案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • 深入理解Django的自定義過濾器

    深入理解Django的自定義過濾器

    這篇文章主要給大家介紹了關于Django自定義過濾器的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2017-10-10
  • python之singledispatch單分派問題

    python之singledispatch單分派問題

    這篇文章主要介紹了python之singledispatch單分派問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • django日志默認打印request請求信息的方法示例

    django日志默認打印request請求信息的方法示例

    這篇文章主要給大家介紹了關于django日志默認打印request請求信息的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用django具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2020-05-05
  • Python中的pydot庫實現(xiàn)復雜圖形使用教程

    Python中的pydot庫實現(xiàn)復雜圖形使用教程

    pydot是一個用于生成和操作DOT圖文件的Python庫,封裝了Graphviz的功能,適用于可視化圖結構,它可以生成依賴圖、流程圖、樹形圖等,并支持復雜的圖形樣式、網(wǎng)絡數(shù)據(jù)集成、循環(huán)圖、輸出其他格式、處理大規(guī)模圖數(shù)據(jù)的等等
    2025-01-01

最新評論

乐平市| 新郑市| 蓬溪县| 崇义县| 社旗县| 通化县| 庆安县| 平山县| 始兴县| 宜宾县| 镇江市| 策勒县| 天全县| 沁水县| 瑞安市| 砚山县| 洛扎县| 宁南县| 山西省| 叙永县| 广东省| 四会市| 民和| 永平县| 九江县| 香港| 资源县| 涟源市| 明水县| 玛曲县| 光泽县| 赣榆县| 元阳县| 区。| 溆浦县| 乐安县| 龙井市| 安宁市| 泾源县| 牙克石市| 贵德县|