Решение на Пет малки функции от Радослав Аспарухов

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

Към профила на Радослав Аспарухов

Резултати

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

Код

import collections
def extract_type(args, return_type):
return ''.join(map(str, list((x*y for x, y in args
if type(x) == return_type))))
def reversed_dict(cities):
return dict((y, x) for x, y in dict(cities).items())
def reps(args):
return tuple((x for x in args if args.count(x) > 1))
def flatten_dict(unflatten_input, parent_key='', sep='.'):
items = []
for k, v in unflatten_input.items():
new_key = parent_key + sep + k if parent_key else k
if isinstance(v, collections.MutableMapping):
items.extend(flatten_dict(v, new_key, sep=sep).items())
else:
items.append((new_key, v))
return dict(items)
def unflatten_dict(flatten_input, sep='.'):
result = dict()
for key, value in flatten_input.iteritems():
parts = key.split(sep)
d = result
for part in parts[:-1]:
if part not in d:
d[part] = dict()
d = d[part]
d[parts[-1]] = value
return result

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

...................
----------------------------------------------------------------------
Ran 19 tests in 0.167s

OK

История (3 версии и 4 коментара)

Радослав обнови решението на 21.03.2015 10:33 (преди над 9 години)

+import collections
+
+
+def extract_type(args, return_type):
+ return ''.join(list((x*y for x, y in args if isinstance(x, return_type))))
+
+
+def reversed_dict(cities):
+ return dict((y, x) for x, y in dict(cities).items())
+
+
+def reps(args):
+ return tuple((x for x in args if args.count(x) > 1))
+
+
+def flatten_dict(unflatten_input, parent_key='', sep='.'):
+ items = []
+ for k, v in unflatten_input.items():
+ new_key = parent_key + sep + k if parent_key else k
+ if isinstance(v, collections.MutableMapping):
+ items.extend(flatten_dict(v, new_key, sep=sep).items())
+ else:
+ items.append((new_key, v))
+ return dict(items)
+
+
+def unflatten_dict(flatten_input, sep='.'):
+ result = dict()
+ for key, value in flatten_input.iteritems():
+ parts = key.split(sep)
+ d = result
+ for part in parts[:-1]:
+ if part not in d:
+ d[part] = dict()
+ d = d[part]
+ d[parts[-1]] = value
+ return result

Радослав обнови решението на 23.03.2015 15:00 (преди над 9 години)

import collections
def extract_type(args, return_type):
- return ''.join(list((x*y for x, y in args if isinstance(x, return_type))))
+ return ''.join(map(str, list((x*y for x, y in args if type(x) == return_type))))
def reversed_dict(cities):
return dict((y, x) for x, y in dict(cities).items())
def reps(args):
return tuple((x for x in args if args.count(x) > 1))
def flatten_dict(unflatten_input, parent_key='', sep='.'):
items = []
for k, v in unflatten_input.items():
new_key = parent_key + sep + k if parent_key else k
if isinstance(v, collections.MutableMapping):
items.extend(flatten_dict(v, new_key, sep=sep).items())
else:
items.append((new_key, v))
return dict(items)
def unflatten_dict(flatten_input, sep='.'):
result = dict()
for key, value in flatten_input.iteritems():
parts = key.split(sep)
d = result
for part in parts[:-1]:
if part not in d:
d[part] = dict()
d = d[part]
d[parts[-1]] = value
return result

Радослав обнови решението на 23.03.2015 16:34 (преди над 9 години)

import collections
def extract_type(args, return_type):
- return ''.join(map(str, list((x*y for x, y in args if type(x) == return_type))))
+ return ''.join(map(str, list((x*y for x, y in args
+ if type(x) == return_type))))
def reversed_dict(cities):
return dict((y, x) for x, y in dict(cities).items())
def reps(args):
return tuple((x for x in args if args.count(x) > 1))
def flatten_dict(unflatten_input, parent_key='', sep='.'):
items = []
for k, v in unflatten_input.items():
new_key = parent_key + sep + k if parent_key else k
if isinstance(v, collections.MutableMapping):
items.extend(flatten_dict(v, new_key, sep=sep).items())
else:
items.append((new_key, v))
return dict(items)
def unflatten_dict(flatten_input, sep='.'):
result = dict()
for key, value in flatten_input.iteritems():
parts = key.split(sep)
d = result
for part in parts[:-1]:
if part not in d:
d[part] = dict()
d = d[part]
d[parts[-1]] = value
return result

лошо... Пиша го под eclipse а там съм с PyDev и максимума на интерпретатор, който мога да му задам е 3.0, а той пък не изрева, а въобще не се сетих да погледна дали iteritems() го има или да си ползвам items()... Здраве, мерси за забележката, ще си го имам предвид за напред :D