21

重複の可能性:
Pythonでリストを均等なサイズのチャンクに分割するにはどうすればよいですか?

mylist = [1, 2, 3, 4, 5, 6, 7, 8, 9]

これらのブロックを、一度に4つのアイテムしか処理できないサードパーティのAPIに渡す必要があります。一度に1つずつ実行できますが、これはHTTPリクエストであり、実行ごとに処理されるため、可能な限り少ないクエリ数で実行することをお勧めします。

私がやりたいのは、リストを4つのブロックにチャンクし、各サブブロックを送信することです。

したがって、上記のリストから、私は期待します:

[[1, 2, 3, 4], [5, 6, 7, 8], [9]]
4

1 に答える 1

67
mylist = [1, 2, 3, 4, 5, 6, 7, 8, 9] 
print [mylist[i:i+4] for i in range(0, len(mylist), 4)]
# Prints [[1, 2, 3, 4], [5, 6, 7, 8], [9]]
于 2010-10-16T18:00:25.160 に答える