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

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

Към профила на Михаил Станин

Резултати

  • 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

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

...................
----------------------------------------------------------------------
Ran 19 tests in 0.164s

OK

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

Михаил обнови решението на 20.03.2015 10:23 (преди над 9 години)

+def reps(args):
+ return [arg for arg in args if arg in args[args.index(arg) + 1:]]

Михаил обнови решението на 20.03.2015 10:46 (преди над 9 години)

def reps(args):
- return [arg for arg in args if arg in args[args.index(arg) + 1:]]
+ return tuple(arg for arg in args if arg in args[args.index(arg) + 1:])
+
+
+def reversed_dict(dict_in):
+ return dict(set([(val, key) for key, val in dict_in.items()]))

Михаил обнови решението на 20.03.2015 11:45 (преди над 9 години)

def reps(args):
return tuple(arg for arg in args if arg in args[args.index(arg) + 1:])
def reversed_dict(dict_in):
- return dict(set([(val, key) for key, val in dict_in.items()]))
+ return dict(set([(val, key) for key, val in dict_in.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])

Михаил обнови решението на 22.03.2015 18:39 (преди над 9 години)

def reps(args):
return tuple(arg for arg in args if arg in args[args.index(arg) + 1:])
def reversed_dict(dict_in):
return dict(set([(val, key) for key, val in dict_in.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)])

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

def reps(args):
return tuple(arg for arg in args if arg in args[args.index(arg) + 1:])
-def reversed_dict(dict_in):
- return dict(set([(val, key) for key, val in dict_in.items()]))
+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():
+ parts = key.split(".")
+ d = out
+ for part in parts[:-1]:
+ if part not in d:
+ d[part] = {}
+ d = d[part]
+ d[parts[-1]] = value
+ return out

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

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():
- parts = key.split(".")
+ keys = key.split(".")
d = out
- for part in parts[:-1]:
- if part not in d:
- d[part] = {}
- d = d[part]
- d[parts[-1]] = value
+ for k in keys[:-1]:
+ if k not in d:
+ d[k] = {}
+ d = d[k]
+ d[keys[-1]] = value
return out