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 跳出巢狀迴圈方法Python巢狀
- 巢狀迴圈成本消耗巢狀
- python 利用 for ... else 跳出雙層巢狀迴圈Python巢狀
- Python的if else 巢狀 和forin while 迴圈Python巢狀While
- python基礎語法迴圈巢狀和列表(一)Python巢狀
- python基礎語法迴圈巢狀和列表(二)Python巢狀
- Sql 巢狀迴圈最佳化案例SQL巢狀
- 兩表連線一:巢狀迴圈連線巢狀
- Linux Shell程式設計(17)——巢狀迴圈Linux程式設計巢狀
- java中如何將巢狀迴圈效能提高500倍Java巢狀
- thinkphp中volist的多重迴圈,標籤巢狀PHP巢狀
- 瞭解巢狀迴圈聯接、合併聯接巢狀
- 最佳化兩個簡單的巢狀迴圈巢狀
- while + else 使用,while死迴圈與while的巢狀,for迴圈基本使用,range關鍵字,for的迴圈補充(break、continue、else) ,for迴圈的巢狀,基本資料型別及內建方法While巢狀資料型別
- 迴圈中巢狀非同步操作的流程控制巢狀非同步
- Oracle的表連線方法(二)巢狀迴圈連線Oracle巢狀
- 關於迴圈巢狀nested loops的一點分析巢狀OOP
- 與小卡特一起學python 第11章 巢狀與可變迴圈Python巢狀
- 高效遍歷匹配Json資料,避免巢狀迴圈[轉]JSON巢狀
- [work] python巢狀字典的遞迴遍歷Python巢狀遞迴
- 碎片化學習Java(二十)Java for迴圈巢狀輸出指定圖案Java巢狀
- 記錄一次 postgresql 最佳化案例( 巢狀迴圈改HASH JOIN )SQL巢狀
- python 迴圈Python
- Python迴圈Python
- ThinkPHP學習(四)volist標籤高階應用之多重巢狀迴圈PHP巢狀
- 與小卡特一起學python 第11章 巢狀與可變迴圈 動手試一試Python巢狀
- 微信小程式入門教程--列表渲染多層巢狀迴圈及wx:key的使用微信小程式巢狀
- python while迴圈PythonWhile
- Python迴圈控制-forPython
- python 字典和列表巢狀用法Python巢狀
- Python .get 巢狀 JSON 值Python巢狀JSON
- 將if-else之類巢狀迴圈重構為函式式管道 - XP123巢狀函式
- 碎片化學習Java(二十一)Java for迴圈巢狀輸出三角形Java巢狀
- Python迴圈引用是什麼?如何避免迴圈引用?Python
- python 基礎 迴圈Python
- Python的for迴圈退出Python