Today, while working with csv files i got into fantastic situation where i have a list of million values and i make iteration on that. So i thought, it would be easy for me if i split list into number of pieces which dont affect my code, memory and CPU. I can also use generator expression to make make my code run faster, but i was very curious to write code to split list into number of pieces(uses little of generator exp).
And the result is here -
import os,sys
def split_seq(seq, num_pieces):
""" split a list into pieces passed as param """
start = 0
for i in xrange(num_pieces):
stop = start + len(seq[i::num_pieces])
yield seq[start:stop]
start = stop
seq = [i for i in range(100)] ## define your list here
num_of_pieces = 3
for seq in split_seq(seq, num_of_pieces):
print len(seq), '-> ',seq
No comments:
Post a Comment