I propose a new function for list for pack values of a list and
sliding over them:
then we can do things like this:
for i, j, k in pack(range(10), 3, partialend=False):
print i, j, k
I propose this because i need a lot of times pack and slide function
over list and this one
combine the two in a generator way.
def pack(l, size=2, slide=2, partialend=True):
lenght = len(l)
for p in range(0,lenght-size,slide):
def packet():
for i in range(size):
yield l[p+i]
yield packet()
p = p + slide
if partialend or lenght-p == size:
def packet():
for i in range(lenght-p):
yield l[p+i]
yield packet()
a = range(10)
print a
print 'pack(a, 2, 2, True):', [list(p) for p in pack(a, 2, 2, True)]
print 'pack(a, 2, 2, False):', [list(p) for p in pack(a, 2, 2, False)]
print 'pack(a, 2, 3, True):', [list(p) for p in pack(a, 2, 3, True)]
print 'pack(a, 2, 3, False):', [list(p) for p in pack(a, 2, 3, False)]
print 'pack(a, 3, 2, True):', [list(p) for p in pack(a, 3, 2, True)]
print 'pack(a, 3, 2, False):', [list(p) for p in pack(a, 3, 2, False)]
print 'pack(a, 3, 3, True):', [list(p) for p in pack(a, 3, 3, True)]
print 'pack(a, 3, 3, False):', [list(p) for p in pack(a, 3, 3, False)]
paul bedaride
_______________________________________________
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com