[問題] 從list取出固定數量元素

作者: ggirls (哥)   2018-08-20 18:46:14
請問不定數量(LEN)的 list,一次取 INTERVAL 個值為一組,不足自成一組
要麼寫比較簡潔?(下面寫法不對,只能跑3個一組)
LEN = 100
INTERVAL = 3
lst = [x for x in range(0, LEN)]
for i in range(0, LEN, INTERVAL):
try:
print(lst[i], lst[i+1], lst[i+2])
except IndexError:
try:
print(lst[i], lst[i+1])
except IndexError:
print(lst[i])
作者: HenryLiKing (HenryLiKing)   2018-08-20 19:00:00
def chunks(l, n): """Yield successive n-sized chunks from l.""" for i in range(0, len(l), n): yield l[i:i + n]剛剛孤狗到的XDhttps://stackoverflow.com/questions/312443/how-do-you-split-a-list-into-evenly-sized-chunks我用手機就不縮短網址了喔 我也是剛剛學到的XDD
作者: ggirls (哥)   2018-08-20 20:19:00
感謝。今天才發現iterable[n:m]不會有IndexError
作者: justoncetime (台北叢林好冷~)   2018-08-20 20:27:00
用手機跟縮不縮網址有什麼關係
作者: ggirls (哥)   2018-08-20 20:57:00
作者: handsomeLin (DoGLin)   2018-08-20 23:09:00
其實你原始的code就證明你原本的邏輯不對阿,你寫一個code想自動根據interval自成一組,結果迴圈裡你hard code了interval的個數,從這你應該就要想到subarray的概念了
作者: HenryLiKing (HenryLiKing)   2018-08-21 17:00:00
感謝G大幫縮XD

Links booklink

Contact Us: admin [ a t ] ucptt.com