[问题] 从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