Slicing a dictionary by keys that start with a certain string Slicing a dictionary by keys that start with a certain string python python

Slicing a dictionary by keys that start with a certain string


How about this:

in python 2.x :

def slicedict(d, s):    return {k:v for k,v in d.iteritems() if k.startswith(s)}

In python 3.x :

def slicedict(d, s):    return {k:v for k,v in d.items() if k.startswith(s)}


In functional style:

dict(filter(lambda item: item[0].startswith(string),sourcedict.iteritems()))


In Python 3 use items() instead:

def slicedict(d, s):    return {k:v for k,v in d.items() if k.startswith(s)}