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

看板Python作者 (T-PANY FOREVER)時間11年前 (2014/12/24 23:03), 編輯推噓1(108)
留言9則, 4人參與, 最新討論串1/1
大家好,是這樣的,假設我有如下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://www.ptt.cc/bbs/Python/M.1419433402.A.B70.html

12/24 23:21, , 1F
l = range(1, 21)
12/24 23:21, 1F

12/24 23:22, , 2F
def print_item(l, n):
12/24 23:22, 2F

12/24 23:22, , 3F
for i in xrange(0, len(l), n):
12/24 23:22, 3F

12/24 23:22, , 4F
print l[i:i+n]
12/24 23:22, 4F

12/24 23:22, , 5F
print_item(l, 3)
12/24 23:22, 5F

12/24 23:22, , 6F
如果只是要印出來,這是最直觀的做法
12/24 23:22, 6F

12/24 23:24, , 7F
print([l[i:i+3] for i in range(0, len(l), 3)])
12/24 23:24, 7F

12/24 23:31, , 8F
感謝兩位幫忙,可以work ^^
12/24 23:31, 8F

12/25 09:31, , 9F
itertools 底下有 grouper w. fillvalue 的範例
12/25 09:31, 9F
文章代碼(AID): #1KcjMwjm (Python)
文章代碼(AID): #1KcjMwjm (Python)