看板 Python 關於我們 聯絡資訊
不好意思打擾大家 想請教一下 my_list = [0,1,2,3,4] 要怎麼樣算出裡面>2的元素有幾個 (兩個) 感謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.192.240.229 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1660497292.A.043.html
papple23g: sum(n>2 for n in my_list) 08/15 01:59
sating00: 迴圈算 08/15 09:40
venomsoul: count = 0 08/15 11:25
venomsoul: for i in my_list: 08/15 11:25
venomsoul: if i > 2: 08/15 11:25
venomsoul: count += 1 08/15 11:25
venomsoul: return count 08/15 11:25
venomsoul: 喔return那行多的,這不是函數 08/15 11:29
IAMPF: len([m for m in my_list if m > 2]) 08/15 11:51
refusekkk: 推樓上IAMPF的做法 08/15 13:46
dati: IAMPF 的做法挺漂亮的 08/15 14:46
lycantrope: 以效率來說還是1F比較好 08/15 15:38
mikapauli: sum(map((2.).__lt__, my_list)) 08/15 17:05
mikapauli: 啊和1F一樣意思 08/15 17:05
AmigoSin: 最Pythonic推IAMPF 08/16 00:12
dosiris: my_list.count(2) 08/18 13:28
dosiris: Sorry 沒注意到是大於2 08/18 13:29
dosiris: 能否請教為何1F的寫法不必加方括弧? 08/18 13:35
dosiris: 謝謝 08/18 13:36
lycantrope: n>2 for n in my_list 會回傳一個iterator 而sum本身 08/18 18:03
lycantrope: 對應任何可以iterable的東西 08/18 18:03
dosiris: 了解 所以sum()可以接受iterator 但len()不行 謝謝啦 08/18 19:11