Друзья, в одном из прошлых постов я предложил вам написать функцию remove_duplicates(), которая принимает в качестве аргумента список чисел и возвращает новый список без повторяющихся элементов, при этом порядок элементов начального списка должен сохраниться.



Выкладываю наиболее красивое решение указанной задачи. В нем используется словарь, чтобы удалить повторяющиеся числа исходного списка, при этом порядок элементов сохраняется автоматически.



💡Структура данных называется упорядоченной, если элементы хранятся в ней в том же порядке, что и были добавлены. С версии Python 3.7 словари являются упорядоченной структурой данных за счёт дополнительного списка, который сохраняет порядок добавленных ключей.



Многие из присланных решений использовали типы Counter и OrderedDict. Это тоже верные решения, но предпочтение лучше отдавать встроенному типу dict, так как он лучше оптимизирован и потребляет меньше памяти.



После того как словари (тип dict) стали упорядоченными, большая надобность в типе OrderedDict пропала. Однако между типами dict и OrderedDict есть несколько различий, о которых я напишу в следующем посте. Вы знаете, чем они отличаются?



#решениезадачи #dict #OrderedDict