Python中的條件判斷語句與循環(huán)語句用法小結
if語句
>>通用格式
if語句一般形式如下:
if <test1>: <statements1> elif <test2>: <statements2> else: <statements3>
另外需要注意的是,Python中是沒有switch/case語句的
while循環(huán)
while語句是Python語言中最通用的迭代結構,簡而言之,只要頂端測試一直計算到真值,就會重復執(zhí)行一個語句塊。
>>一般格式
while <test>: <statements1> else: <statements2> >>break,continue,pass和循環(huán)else
break
跳出最近所在的循環(huán)(跳過整個循環(huán)語句)。
continue
跳到最近所在循環(huán)的開頭處(來到循環(huán)的首行)。
pass
什么事也不做,只是空占位符語句。
循環(huán)else塊
只有當前循環(huán)正常離開時才會執(zhí)行(也就是沒有碰到break語句)
>>一般循環(huán)格式
加入break和continue語句后,while的一般格式變?yōu)?
while <test1>: <statements1> if <test2>:break if <test3>:continue else: <statements2> >>pass
pass語句是無運算的占位符,當語法需要語句并且還沒有任何實用的語句可寫時,就可以使用它。
>>循環(huán)else
在while語句中加入else和C/C++中的語法不太一樣,這里詳細說明一下。else后面的代碼只有當循環(huán)正常結束時才會執(zhí)行,如果是用break跳出循環(huán)的,這部分代碼就不會運行,具體看一個求質數(shù)的例子:
x = y // 2 while x > 1: if y % x == 0: print(y,'has factor',x) break x -= 1 else: print(y,'is prime')
再看一個對比的例子,沒有使用else的情況:
found=False
while x and not found:
if (matchx[0]):
print('Ni')
found=True
else:
x=x[1:]
if not found:
print('not found')
使用else后的情況:
while x:
if (match(x[0])):
print('Ni')
break
else:
print('not found')
for循環(huán)
for循環(huán)在Python中是一個通用的序列迭代器:可以遍歷任何有序的序列對象內元素。for語句可以用于字符串、列表、元組、其他內置可迭代對象。
>>一般格式
for <target> in <object>: <statements> else: <statements>
此處的else的作用和while語句中的一樣。另外需要注意的是,當Python運行for循環(huán)時,會逐個將序列對象中的元素賦值給目標,然后為每個元素執(zhí)行循環(huán)體。
編寫循環(huán)的技巧
內置range函數(shù):返回一系列連續(xù)增加的整數(shù),可作為for中的索引
內置zip函數(shù):返回并行元素的元組的列表,可用于在for中遍歷數(shù)個數(shù)列
>>循環(huán)計數(shù)器:while和range
range
當range函數(shù)只有一個參數(shù)時,會返回從零算起的整數(shù)列表,但其中不包括該參數(shù)的值。如果傳進兩個參數(shù),那第一個參數(shù)是上邊界,第二個參數(shù)是下邊界。如果傳進三個參數(shù)時,第三個參數(shù)表示步進值。
range提供了一種簡單的方法,重復特定次數(shù)的動作:
for i in range(5): print(i,'Pythons')
相應的C++代碼則是:
int i;
for(i = 0;i < 5;++i)
{
std::cout<<i<<"Python";
}
>>并行遍歷:zip和map
zip會取得一個或多個序列為參數(shù),然后返回元組的列表,將這些序列中的并排的元素配成對。
L1=[1,2,3,4] L2=[5,6,7,8] list(zip(L1,L2))
上述代碼的執(zhí)行結果是:
[(1,5),(2,6),(3,7),(4,8)]
當參數(shù)的長度不同時,zip會以最短序列的長度為準來截斷所得到的元組。
使用zip構造字典:
keys=['spam','eggs','totast'] values=[1,2,5] D = dict(zip(keys,values))
>>產生偏移和元素:enumerate
enumerate函數(shù)一個比較新的內置函數(shù),它能同時返回元素值和偏移值:
s='spam' for (offset,item) in enumerate(s): print(item,'appears at offset',offset)
相關文章
python函數(shù)enumerate,operator和Counter使用技巧實例小結
這篇文章主要介紹了python函數(shù)enumerate,operator和Counter使用技巧,結合實例形式總結分析了python內置函數(shù)enumerate,operator和Counter基本功能、原理、用法及操作注意事項,需要的朋友可以參考下2020-02-02
python3實現(xiàn)名片管理系統(tǒng)(控制臺版)
這篇文章主要為大家詳細介紹了python3實現(xiàn)名片管理系統(tǒng)控制臺版,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-11-11
對python中基于tcp協(xié)議的通信(數(shù)據(jù)傳輸)實例講解
今天小編就為大家分享一篇對python中基于tcp協(xié)議的通信(數(shù)據(jù)傳輸)實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07
手把手教你實現(xiàn)PyTorch的MNIST數(shù)據(jù)集
本文主要介紹了PyTorch的MNIST數(shù)據(jù)集,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-06-06

