Python 迴圈巢狀
Python 迴圈巢狀
Python 語言允許在一個迴圈體裡面嵌入另一個迴圈。
Python for 迴圈巢狀語法:
for iterating_var in sequence:
for iterating_var in sequence:
statements(s)
statements(s)
Python while 迴圈巢狀語法:
while expression:
while expression:
statement(s)
statement(s)
你可以在迴圈體內嵌入其他的迴圈體,如在while迴圈中可以嵌入for迴圈, 反之,你可以在for迴圈中嵌入while迴圈。
例項:
1. 從第一個列表中每次取出一個,從第二個列表中也每次取出一個,組合成一個新的列表,新列表中包含所有組合
List1 = ['zi', 'qiang', 'xue', 'tang']
List2 = [1, 2]
new_list = []
for m in List1:
for n in List2:
new_list.append([m, n])
print new_list
結果:
[['zi', 1], ['zi', 2], ['qiang', 1], ['qiang', 2], ['xue', 1], ['xue', 2], ['tang', 1], ['tang', 2]]
2. 從一個列表中每次取出兩個,找出所有組合方式
List = [1, 2, 3, 4, 5]
length = len(List)
for x in range(0, length-1):
for y in range(x+1, length):
print List[x], List[y]
結果:
1 2
1 3
1 4
1 5
2 3
2 4
2 5
3 4
3 5
4 5
3. 以下例項使用了巢狀迴圈輸出2~20之間的素數:
分析:對於一個數 n ,如果從 1 到 n ** 0.5(根號n) 的數都是能整除,那麼n這個數就是素數。
3.1 用 for 來實現
# -*- coding: utf-8 -*-
n = 20
for i in range(1, n):
for j in range(2, int(i**0.5)):
if i % j == 0:
break
else:
print i, '是素數'
3.2 用 while 來實現
#!/usr/bin/python
# -*- coding: utf-8 -*-
i = 2
while(i < 20):
j = 2
while(j <= (i/j)):
if not(i%j): # 或者寫 if i % j == 0,如果整除的意思
break
j = j + 1
if (j > i/j):
print i, " 是素數"
i = i + 1
print "Good bye!"
解釋:i % j 的意思是 i 除以 j 後的餘數。對於數字,0對應的布林值為假,其它值都是真,not ( i % j ) 的意思是 ,當 i % j 為 0 時才能條件成立,意思就是整除的時候,如果能整除的意思。
以上例項輸出結果:
2 是素數
3 是素數
5 是素數
7 是素數
11 是素數
13 是素數
17 是素數
Good bye!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29829936/viewspace-2149301/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- python怎麼迴圈巢狀Python巢狀
- Python的if else 巢狀 和forin while 迴圈Python巢狀While
- python 利用 for ... else 跳出雙層巢狀迴圈Python巢狀
- python基礎語法迴圈巢狀和列表(一)Python巢狀
- python基礎語法迴圈巢狀和列表(二)Python巢狀
- MySQL Join原理分析(緩衝塊巢狀與索引巢狀迴圈)MySql巢狀索引
- 最佳化兩個簡單的巢狀迴圈巢狀
- java中如何將巢狀迴圈效能提高500倍Java巢狀
- while + else 使用,while死迴圈與while的巢狀,for迴圈基本使用,range關鍵字,for的迴圈補充(break、continue、else) ,for迴圈的巢狀,基本資料型別及內建方法While巢狀資料型別
- 巢狀類遞迴巢狀遞迴
- [work] python巢狀字典的遞迴遍歷Python巢狀遞迴
- 高效遍歷匹配Json資料,避免巢狀迴圈[轉]JSON巢狀
- 迴圈中巢狀非同步操作的流程控制巢狀非同步
- 碎片化學習Java(二十)Java for迴圈巢狀輸出指定圖案Java巢狀
- 記錄一次 postgresql 最佳化案例( 巢狀迴圈改HASH JOIN )SQL巢狀
- Python .get 巢狀 JSON 值Python巢狀JSON
- python while迴圈PythonWhile
- Python迴圈控制-forPython
- 將if-else之類巢狀迴圈重構為函式式管道 - XP123巢狀函式
- python-if elif巢狀結構Python巢狀
- python 字典和列表巢狀用法Python巢狀
- python 基礎 迴圈Python
- Python的for迴圈退出Python
- python-while迴圈PythonWhile
- 碎片化學習Java(二十一)Java for迴圈巢狀輸出三角形Java巢狀
- 【TUNE_ORACLE】列出返回行數較多的巢狀迴圈(NESTED LOOPS)SQL的SQL參考Oracle巢狀OOPSQL
- python04: while迴圈語句 break continue for in 迴圈PythonWhile
- Python迴圈引用是什麼?如何避免迴圈引用?Python
- 遞迴元件組合拳,無懼頁面巢狀遞迴元件巢狀
- 微課sql最佳化(14)、表的連線方法(3)-關於Nested Loops Join(巢狀迴圈)SQLOOP巢狀
- 1.5.2 Python函式巢狀及作用域Python函式巢狀
- Python基礎之函式的巢狀Python函式巢狀
- python 基礎習題6--for迴圈和while迴圈PythonWhile
- Python迴圈結構用法Python
- python迴圈刪除漏洞Python
- 11個Python迴圈技巧Python
- Python基礎(07):迴圈Python
- Python的迴圈語句Python
- 介紹Python的 迴圈Python