Клара обнови решението на 18.03.2015 00:28 (преди над 9 години)
+import itertools
+
+
+def extract_type(the_list, the_type):
+ the_result = ''
+ for i in range(0, len(the_list)):
+ if type(the_list[i][0]) is the_type:
+ the_result += str(str(the_list[i][0]) * the_list[i][1])
+ return the_result
+
+
+def reversed_dict(the_dict):
+ return dict(zip(the_dict.values(), the_dict.keys()))
+
+
+def flatten_dict(the_dict, the_key=''):
+ final_dict = {}
+ for key, val in the_dict.items():
+ new_key = the_key + key
+ if isinstance(val, dict):
+ final_dict.update(flatten_dict(val, new_key + '.'))
+ else:
+ final_dict[new_key] = val
+ return final_dict
+
+
+def unflatten_dict(the_dict):
+ resultDict = dict()
+ for key, value in the_dict.items():
+ key_split = key.split(".")
+ d = resultDict
+ for part in key_split[:-1]:
+ if part not in d:
+ d[part] = dict()
+ d = d[part]
+ d[key_split[-1]] = value
+ return resultDict
+
+
+def reps(the_list):
+ the_result = filter(lambda a: a if the_list.count(a) > 1 else 0, the_list)
+ return tuple(list(the_result))
- Всички имена трябва да са в
snake_case
- Имената трябва да са смислени -
the dict
,d
,the_result
не значат нищо. - Не слагай типа на променливата в името ѝ, за да не се окаже в един момент, че речникът ти се казва
list
:)