作者liataian (T-PANY FOREVER)
看板Python
标题[问题] 请问list怎麽一次印n个item
时间Wed Dec 24 23:03:17 2014
大家好,是这样的,假设我有如下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]
想请问这样要如何做呢?
谢谢!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 203.73.69.213
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Python/M.1419433402.A.B70.html
1F:推 LiloHuang: l = range(1, 21) 12/24 23:21
2F:→ LiloHuang: def print_item(l, n): 12/24 23:22
3F:→ LiloHuang: for i in xrange(0, len(l), n): 12/24 23:22
4F:→ LiloHuang: print l[i:i+n] 12/24 23:22
5F:→ LiloHuang: print_item(l, 3) 12/24 23:22
6F:→ LiloHuang: 如果只是要印出来,这是最直观的做法 12/24 23:22
7F:→ alibuda174: print([l[i:i+3] for i in range(0, len(l), 3)]) 12/24 23:24
8F:→ liataian: 感谢两位帮忙,可以work ^^ 12/24 23:31
9F:→ ccwang002: itertools 底下有 grouper w. fillvalue 的范例 12/25 09:31