On 7 May 2012 12:31, Nikhil Verma <varma.nikhi...@gmail.com> wrote: > HI All > > I was clearing my concepts on dictionary and stuck in this problem. > I have a dictionary which i have formed by using zip function on two list so > that one list (which i have hardcoded) becomes the keys and the other list > becomes its values. > > Now i want to know how can i get the values of keys at once if i pass the > keys in a dictionary. > > Let say I have a dictionary > > mydict = {'a':'apple' , 'b':'boy' ,'c' : 'cat', 'd':'duck','e':'egg'} > > Now if i do :- > > mydict.get('a') > 'apple'
mydict['a'] is the usual way to get the value associated with a key. The difference is that it will throw an exception if the key doesn't exist, which is most of the time the sanest thing to do. > What i want is some i pass keys in get and in return i should have all the > values of those keys which i pass. > > ################## > mydict.get('a','b','c') ###demo for what i want > 'apple','boy','cat' ### Output i want > ################# 1. You can use a list comprehension >>> [mydict[k] for k in 'a', 'b', 'c'] ['apple', 'boy', 'cat'] 2. You can use map (for python 3.X, you need to wrap this in list(...)) >>> map(mydict.__getitem__, ['a', 'b', 'c']) ['apple', 'boy', 'cat'] 3. You can use operator.itemgetter >>> from operator import itemgetter >>> itemgetter('a', 'b', 'c')(mydict) ('apple', 'boy', 'cat') -- Arnaud -- http://mail.python.org/mailman/listinfo/python-list