Sub list generator

Here is a little generator that takes a list and splits it up in sub lists:
def sub_lists(list, sub_into=50):
    for i in xrange(0, len(list), sub_into):
        yield list[i:i+sub_into]

Examples:

for list in sub_lists([1,2,3], 2):
    print list
#prints [1,2] \n [3]

for list in sub_lists([1,2,3,4], 200):
    print list
#prints [1,2,3,4]

for list in sub_lists([1,2,3,4], 2):
    print list
#prints [1,2] \n [3,4]

I currently use it to only invalidate 50 keys pr. request in memcached:

for list in sub_lists(big_list):
    mc.delete_many(*list)
16. Dec 2008 Code · Python · Tips
© Amir Salihefendic