Решение на Пет малки функции от Михаела Сейменска

Обратно към всички решения

Към профила на Михаела Сейменска

Резултати

  • 10 точки от тестове
  • 0 бонус точки
  • 10 точки общо
  • 19 успешни тест(а)
  • 0 неуспешни тест(а)

Код

def extract_type(input_elements, input_type):
output_ = ''
for element, count in input_elements:
if type(element) is input_type:
for _ in range(count):
output_ += str(element)
return output_
def reversed_dict(input_):
return {input_[key]: key for key in input_}
def reps(input_):
return tuple(filter(lambda element: input_.count(element) > 1, input_))
def flatten_dict(input_):
output_ = {}
for key, value in input_.items():
if isinstance(value, dict):
value = {key + '.' + key_: value_
for key_, value_ in value.items()}
output_.update(flatten_dict(value))
else:
output_[key] = value
return output_
def unflatten_dict(input_):
output_ = {}
for key, value in input_.items():
modify = output_
output_keys = key.split('.')
for key_ in output_keys[:-1]:
if key_ not in modify:
modify[key_] = {}
modify = modify[key_]
modify[output_keys[-1]] = value
return output_

Лог от изпълнението

...................
----------------------------------------------------------------------
Ran 19 tests in 0.132s

OK

История (2 версии и 0 коментара)

Михаела обнови решението на 23.03.2015 16:49 (преди над 9 години)

+def extract_type(input_elements, input_type):
+ output_ = ''
+ for element, count in input_elements:
+ if type(element) is input_type:
+ for _ in range(count):
+ output_ += str(element)
+ return output_
+
+
+def reversed_dict(input_):
+ return {input_[key]: key for key in input_}
+
+
+def reps(input_):
+ return tuple(filter(lambda element: input_.count(element) > 1, input_))
+
+
+def flatten_dict(input_):
+ output_ = {}
+ for key, value in input_.items():
+ if isinstance(value, dict):
+ value = {key + '.' + key_: value_
+ for key_, value_ in value.items()}
+ output_.update(flatten_dict(value))
+ else:
+ output_[key] = value
+ return output_

Михаела обнови решението на 23.03.2015 16:57 (преди над 9 години)

def extract_type(input_elements, input_type):
output_ = ''
for element, count in input_elements:
if type(element) is input_type:
for _ in range(count):
output_ += str(element)
return output_
def reversed_dict(input_):
return {input_[key]: key for key in input_}
def reps(input_):
return tuple(filter(lambda element: input_.count(element) > 1, input_))
def flatten_dict(input_):
output_ = {}
for key, value in input_.items():
if isinstance(value, dict):
value = {key + '.' + key_: value_
for key_, value_ in value.items()}
output_.update(flatten_dict(value))
else:
output_[key] = value
- return output_
+ return output_
+
+
+def unflatten_dict(input_):
+ output_ = {}
+ for key, value in input_.items():
+ modify = output_
+ output_keys = key.split('.')
+ for key_ in output_keys[:-1]:
+ if key_ not in modify:
+ modify[key_] = {}
+ modify = modify[key_]
+ modify[output_keys[-1]] = value
+ return output_