Реализуйте модуль для языка программирования Python для работы с массивами.
Предусмотрите следующие возможности модуля:
- создание динамических массивов для чисел разных типов(целые (long), числа с плавающей точкой (double));
- создание пустого массива;
- создание массива, заполненного заранее заданными данными;
- реализуйте следующие функции для работы с массивом:
- добавление элемента в конец массива (append);
- вставка элемента в нужную позицию (insert);
- удаление первого вхождения элемента в массив (remove);
- удаление первого вхождения элемента в массив с возвратом (pop);
- инвертирование массива (reversed для поддержки функции reversed);
- определение длины массива (поддержка функции len);
- определение количества памяти, занимаемой массивом (sys.getsizeof, sizeof);
- сравнение со стандартным массивом из модуля array или списком (eq);
- возможность итерирования по массиву;
- алгоритм бинарного поиска, возвращающий индекс найденного элемента или None если ничего не найдено