Решение на Пет малки функции от Михаил Станин
Резултати
- 10 точки от тестове
- 0 бонус точки
- 10 точки общо
- 19 успешни тест(а)
- 0 неуспешни тест(а)
Код
def reps(args):
return tuple(arg for arg in args if arg in args[args.index(arg) + 1:])
def reversed_dict(d):
return {value: key for key, value in d.items()}
def extract_type(args, m_type):
return ''.join([(str(arg[0]))*arg[1] for arg in args
if type(arg[0]) is m_type])
def flatten_dict(d):
def helper(key, value):
if isinstance(value, dict):
return [(key + '.' + k, v) for k, v in flatten_dict(value).items()]
else:
return [(key, value)]
return dict([item for key, value in d.items()
for item in helper(key, value)])
def unflatten_dict(d):
out = {}
for key, value in d.items():
keys = key.split(".")
d = out
for k in keys[:-1]:
if k not in d:
d[k] = {}
d = d[k]
d[keys[-1]] = value
return out