close

一、

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有時候會忘記的部分,單純想說公開讓大家一起學習並討論。

 

arrow
arrow

    v777007 發表在 痞客邦 留言(0) 人氣()