亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將列表分成n組的另一種方法

將列表分成n組的另一種方法

皈依舞 2019-12-11 15:09:05
假設我有一個任意長度L的列表:L = list(range(1000))將列表分成幾組的最佳方法是n什么?這是我能夠想到的最佳結構,由于某種原因,它似乎并不是完成任務的最佳方法:n = 25for i in range(0, len(L), n):    chunk = L[i:i+25]有內置的功能可以做到這一點嗎?編輯:早期的答案是將我的for循環重新制作為listcomp,這不是這個主意;您基本上是用另一種形式給我我的確切答案。我正在查看是否有替代方法可以完成此任務,例如.split列表上的假設或類似內容。我也在昨晚編寫的一些代碼中將其用作生成器:def split_list(L, n):    assert type(L) is list, "L is not a list"    for i in range(0, len(L), n):        yield L[i:i+n]
查看完整描述

3 回答

?
森林海

TA貢獻2011條經驗 獲得超2個贊

Itertools.groupby是一個很好的工具,這是一種使用整數除法來拆分整數列表的方法:


>>> for key, group in itertools.groupby(range(10), lambda k: k//3):

...  print key, list(group)

... 

0 [0, 1, 2]

1 [3, 4, 5]

2 [6, 7, 8]

3 [9]

(列表必須以0開頭才能以完整的組開頭。)



查看完整回答
反對 回復 2019-12-12
  • 3 回答
  • 0 關注
  • 486 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號