How to order the dictionary from list in python -


i have things

mydict = ordereddict({'a':'1', 'd':'2','f':'1', 'i':'2','m':'1', 'k':'2'}) 

now suppose have list like

l = [i,k]

so want order mydict based on list l. i,k first 2 items , other items stay in original order

i want in minimal coding possible. in python

using unique_everseen recipe itertools.

def unique_everseen(iterable, key=none):     "list unique elements, preserving order. remember elements ever seen."     # unique_everseen('aaaabbbccdaabbb') --> b c d     # unique_everseen('abbccad', str.lower) --> b c d     seen = set()     seen_add = seen.add     if key none:         element in ifilterfalse(seen.__contains__, iterable):             seen_add(element)             yield element     else:         element in iterable:             k = key(element)             if k not in seen:                 seen_add(k)                 yield element  >>> itertools import * >>> lis = ["i","k"] >>> mydict = ordereddict([('a', '1'), ('d', '2'), ('f', '1'), ('i', '2'), ('k', '2'), ('m', '1')]) # list used in creating ordereddict, dict lose initial order >>> ordereddict((key,mydict[key]) key in unique_everseen(chain(lis,mydict))) ordereddict([('i', '2'), ('k', '2'), ('a', '1'), ('d', '2'), ('f', '1'), ('m', '1')]) 

Comments

Popular posts from this blog

Change php variable from jquery value using ajax (same page) -

Pull out data related to my apps from Android Play Store and iOS App Store -

How can I fetch data from a web server in an android application? -