Валентин обнови решението на 17.03.2015 21:39 (преди над 9 години)
+def extract_type(vectors, type_):
+ result = ''
+ for vector in vectors:
+ if type(vector[0]) == type_:
+ i = 0
+ while i < vector[1]:
+ i += 1
+ result += str(vector[0])
+ return result
+
+
+def reversed_dict(dictionary):
+ return {dictionary[x]: x for x in dictionary}
+
+
+def flatten_dict(dictionary, subname=''):
+ result = {}
+ for key in dictionary:
+ if type(dictionary[key]) != dict:
+ result[subname + key] = dictionary[key]
+ else:
+ result.update(flatten_dict(dictionary[key], subname + key + '.'))
+ return result
+
+
+def unflatten_dict(dictionary):
+ result = {}
+ for key in dictionary:
+ key_part = key.partition('.')
+ if key_part[2]:
+ if key_part[0] not in result.keys():
+ result[key_part[0]] = {}
+ if type(result[key_part[0]]) == dict:
+ result[key_part[0]][key_part[2]] = dictionary[key]
+ else:
+ result[key] = dictionary[key]
+ for key in result:
+ if type(result[key]) == dict:
+ result[key] = unflatten_dict(result[key])
+ return result
+
+
+def reps(collection):
+ return tuple([x for x in collection if collection.count(x) > 1])
- Въпреки, че имплементацията ти на
extract_type
работи, опитай се да я направиш по-добре. Имашwhile
вif
въвfor
, без да се случва нищо сложно :) - Използвай
is
за сравнение на типове, вместо==
.