Радослав обнови решението на 21.03.2015 10:33 (преди над 9 години)
+import collections
+
+
+def extract_type(args, return_type):
+ return ''.join(list((x*y for x, y in args if isinstance(x, return_type))))
+
+
+def reversed_dict(cities):
+ return dict((y, x) for x, y in dict(cities).items())
+
+
+def reps(args):
+ return tuple((x for x in args if args.count(x) > 1))
+
+
+def flatten_dict(unflatten_input, parent_key='', sep='.'):
+ items = []
+ for k, v in unflatten_input.items():
+ new_key = parent_key + sep + k if parent_key else k
+ if isinstance(v, collections.MutableMapping):
+ items.extend(flatten_dict(v, new_key, sep=sep).items())
+ else:
+ items.append((new_key, v))
+ return dict(items)
+
+
+def unflatten_dict(flatten_input, sep='.'):
+ result = dict()
+ for key, value in flatten_input.iteritems():
+ parts = key.split(sep)
+ d = result
+ for part in parts[:-1]:
+ if part not in d:
+ d[part] = dict()
+ d = d[part]
+ d[parts[-1]] = value
+ return result
- Използвай python 3.4, а не 2.x :)
- Опитай да подадеш нещо различно от
str
като втори аргумент наextract_type
.
Все си мисля, че ползвам 3.4... А за другото... не ме харесва, сега ще го помъча :)