loop over list and process into groups
mk
mrkafk at gmail.com
Fri Mar 5 08:26:13 EST 2010
Sneaky Wombat wrote:
> [ 'VLAN4065',
> 'Interface',
> 'Gi9/6',
> 'Po2',
> 'Po3',
> 'Po306',
> 'VLAN4068',
> 'Interface',
> 'Gi9/6',
> 'VLAN4069',
> 'Interface',
> 'Gi9/6',]
Hey, I just invented a cute ;-) two-liner using list comprehensions:
# alist = list above
tmp, dk = [], {}
[(x.startswith('VLAN') and (dk.setdefault(x,[]) or tmp.append(x))) or
(not x.startswith('VLAN') and dk[tmp[-1]].append(x)) for x in alist
if x != 'Interface']
No need to use a nuke like itertools to kill a fly. ;-)
Regards,
mk
More information about the Python-list
mailing list