Никола обнови решението на 23.03.2015 01:07 (преди над 9 години)
+import collections
+
+
+def extract_type(items, extracted_type):
+ result = ""
+ for i in items:
+ if type(i[0]) is extracted_type:
+ for x in range(0, i[1]):
+ result += str(i[0])
+ return result
+
+
+def reversed_dict(dic):
+ return {x: y for y, x in dic.items()}
+
+
+def flatten_dict(dictionary):
+ return flatten_helper(dictionary, "", dict())
+
+
+def flatten_helper(dictionary, parent_key, result):
+ for key, val in dictionary.items():
+ if isinstance(val, dict):
+ flatten_helper(val, parent_key + key + ".", result)
+ else:
+ result.update({parent_key + key: val})
+ return result
+
+
+def unflatten_dict(dictionary):
+ result = dict()
+ for key, value in dictionary.items():
+ levels = key.split(".")
+ temp = result
+ last_idx = len(levels)-1
+ for i in range(0, last_idx):
+ if levels[i] not in temp:
+ temp[levels[i]] = dict()
+ temp = temp[levels[i]]
+ temp[levels[last_idx]] = value
+ return result
+
+
+def reps(array):
+ return tuple([x for x in array if array.count(x) > 1])