[問題] 請問list怎麼一次印n個item

作者: liataian (T-PANY FOREVER)   2014-12-24 23:03:17
大家好,是這樣的,假設我有如下list
l = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
如果我想要一次印出3個item,且最後不足3個item時仍能印出來
如下這樣:
[1,2,3]
[4,5,6]
[7,8,9]
[10,11,12]
[13,14,15]
[16,17,18]
[19,20]
想請問這樣要如何做呢?
謝謝!
作者: LiloHuang (十年一刻)   2014-12-24 23:21:00
l = range(1, 21)def print_item(l, n):for i in xrange(0, len(l), n):print l[i:i+n]print_item(l, 3)如果只是要印出來,這是最直觀的做法
作者: alibuda174 (阿哩不達)   2014-12-24 23:24:00
print([l[i:i+3] for i in range(0, len(l), 3)])
作者: liataian (T-PANY FOREVER)   2014-12-24 23:31:00
感謝兩位幫忙,可以work ^^
作者: ccwang002 (亮)   2014-12-25 09:31:00
itertools 底下有 grouper w. fillvalue 的範例

Links booklink

Contact Us: admin [ a t ] ucptt.com