From f561db1423a05034e6cd426945eb06569d4008c9 Mon Sep 17 00:00:00 2001 From: Jarius Jenkins Date: Mon, 26 Aug 2013 08:40:39 +0900 Subject: [PATCH] Added in basic dict attribute/method 'get' which supports default return values or None --- multi_key_dict/multi_key_dict.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/multi_key_dict/multi_key_dict.py b/multi_key_dict/multi_key_dict.py index 1f2b12b..a8c624d 100644 --- a/multi_key_dict/multi_key_dict.py +++ b/multi_key_dict/multi_key_dict.py @@ -276,7 +276,12 @@ class multi_key_dict(object): keys.append(key_type(key_val)) return(tuple(keys)) - + def get(self, key, default=None): + """ Return the value at index specified as key.""" + if self.has_key(key): + return self.items_dict[self.__dict__[str(type(key))][key]] + else: + return default def test_multi_key_dict(): m = multi_key_dict() @@ -456,6 +461,12 @@ def test_multi_key_dict(): # test keys() assert (m.keys(int) == tst_range), 'm.keys(int) is not as expected.' + # test get functionality of basic dictionaries + m['CanIGet'] = 'yes' + assert (m.get('CanIGet') == 'yes') + assert (m.get('ICantGet') == None) + assert (m.get('ICantGet', "Ok") == "Ok") + print 'All test passed OK!'