Python - split a list in to smaller lists
So, you end up with a big list, that has a lot of entries, and you want to split them in to smaller lists.
My niece called me recently. She is doing her MA in Neuropsychology and has a set of readings from her research, where she wants to get a median for every minute. That means, she wants to split all her readings into smaller list, containing 60 entries.
Assuming that I’ve already split all her ~800,000 entries into a big list with:
import csv import statistics datalist =  with open(filename, 'r', encoding='utf-8-sig') as csvfile: datareader = csv.reader(csvfile) for row in datareader: datalist.append(float(row)) MAX_SIZE = 60
Then, I found via google this one liner, which is great.
composite_list = [datalist[x:x+MAX_SIZE] for x in range(0, len(datalist),MAX_SIZE)]
This is a great little one liner. It is a List Comprehension, that creates a list using a slice.
It will return a list of lists, which is my situation, is great.