一、
1) 通常我們在寫for迴圈的時候,都是習慣一個一個打
>>> for i in range(1,5):
print(i,end=',')
1,2,3,4,
>>> for i in range(1,5):
if (i%2==0):
print(i,end=',')
2,4,
現在可以進階一點,用list來表示,上篇提到list他會用中括號括起來,所以在寫迴圈時也要給他中括號
>>> [i for i in range(1,5)]
[1, 2, 3, 4]
>>> [i for i in range(1,5) if i%2==0]
[2, 4]
寫法就是 [變數 for 變數 in 範圍 if 條件式] (如果你要有條件式的話)
這樣程式就可以少打一點,其實也蠻直觀的,而且出來的結果是list喔
2)
當然它也可以有不止一個迴圈,
>>> for i in range(5):
for j in range(5,10):
print(i+j,end='...')
5...6...7...8...9...6...7...8...9...10...7...8...9...10...11...8...9...10...11...12...9...10...11...12...13...
>>> [i+j for i in range(5) for j in range(5,10)]
[5, 6, 7, 8, 9, 6, 7, 8, 9, 10, 7, 8, 9, 10, 11, 8, 9, 10, 11, 12, 9, 10, 11, 12, 13]
怎麼寫原本的迴圈就怎麼把他帶到新程式裡,當然也可以加入判斷式
>>> for i in range(5):
for j in range(5,10):
if (i%2==0 and j%2==0):
print(i+j,end='...')
6...8...8...10...10...12...
>>> [i+j for i in range(5) for j in range(5,10) if i%2==0 and j%2==0]
[6, 8, 8, 10, 10, 12]
二、
如果要比較資料組,也有需要注意的事項:
'完全'相同的資料型態才可以一起做比較,tuple只能跟tuple的,list只能跟list,例如
a = [1,2,(3,3)]
b = [1,2,3]
雖然兩者乍看之下都是list資料組,但是他們的第二個位置一個是tuple,另外一個是list,所以不能比較
##我是python初學者,其實這些是我的筆記,在書籍上我覺得重要or有時候會忘記的部分,單純想說公開讓大家一起學習並討論。
留言列表