Дан линейный однонаправленный список L1
1) Разработать
функцию,
которая
переформирует список L1, переписав в начало
списка его часть, начиная с заданной позиции
(номер позиции передается в функцию).
2) Разработать функцию вставки узла в
упорядоченный по не возрастанию список.
Сформировать такой список L2.
3) Разработать функцию, которая удаляет
из L2 все повторяющиеся значения, оставляя
одно из них.
2. Отчет по разработанной программе
Условие задания, требования в соответствии с вариантом
1. Постановка задачи
2. Определение списка операций над списком, которые выявлены в
процессе исследования задач дополнительного задания.
2.1 Определить структуру узла однонаправленного списка
соответствии с вариантом.
2.2 Изобразить (рисунок) для каждой операции полученного списка
выполнения операции
существующем
процесс
однонаправленном списке.
2.3 Изобразите структуру данных, которая будет использоваться в
операциях.
2.4 Привести алгоритм выполнения операции
2.5 Привести таблицу тестов для тестирования каждой операции
3. Представить код программы
4. Представить результат тестирования программы: скриншоты
выполнения каждой операции.
5. Привести выводы по полученным знаниям и умениям
6. Список информационных источников, которые были использованы
при выполнении задания.
Например, в маске *r*f* пять символов, ей удовлетворяют нужные имена файлов (mister_fox, from_foxford), но не удовлетворяют ненужные (brave_oxygen – нет f, magic_fox – нет r).
Масок из меньшего количества символов, удовлетворяющих условию нет:
Начальные символы mister_fox и from_foxford разные, так что маски должны начинаться с звездочекАналогично, и заканчиваться они должны на звездочку. Таким образом, два символа маски известныЕсли в маске всего 3 символа, то неизвестный символ – символ, который должен быть в нужных словах, но которого не должно быть в ненужных. В обоих нужных словах есть символы m, r, _, f, o, x, но каждый из этих символов есть хотя бы в одном ненужномЕсли в маске 4 символа, то неизвестная пара символов – символы, стоящие подряд, которые есть в нужных словах и которых нет в ненужных. В нужных словах совпадают только пары символов, входящие в _fox, но этот же фрагмент входит и в magic_foximport copy – импортируется модуль copy
x = {'one': 1, 'two_three': [2, 3]} – создается словарь с ключами one и two_three и значениями 1 и [2, 3]
y = copy.copy(x) – y указывает на поверхностную копию x. Поверхностная копия – копия, у которой такие же ключи и значения, что и в оригинале. В отличии от copy.deepcopy – глубокого копирования – значения ссылаются на те же объекты, что и оригинал
y['one'] = 'I' – ключу one нового объекта присваивается значение 'I'. В старом объекте ничего не меняется
y['two_three'][0] = 'II' – в значении по ключу two_three нового объекта берется первый элемент (нумерация начинается с нуля) и заменяется на 'II'. Поскольку в старом объекте по этому ключу находится тот же самый объект, то при печати и там список будет изменен
y['two_three'][1] = 'III' – аналогично со вторым элементом списка
print(x) – выводится содержимое x, то есть {'one': 1, 'two_three': ['II', 'III']}
print(y) – выводится содержимое y, то есть {'one': 'I', 'two_three': ['II', 'III']}
На экран будут выведены две строки, написанные выше