ЛР32. Спільні списки, копії та тести змін
Коротко про роботу
Два імені посилаються на один список, а третє отримує незалежну копію перед наступною мутацією. Варіант визначає STUDENT_X.
Відкрити робочий зошит Як виконувати лабораторні
1. Умова
Два імені посилаються на один список, а третє отримує незалежну копію перед наступною мутацією.
Усі обчислення виконуйте з даними свого STUDENT_X. Значення варіанта друкує перша комірка зошита.
2. Що треба знати
Робота виконується після Л1–Л12. Потрібні поняття:
- змінюваний
list - кілька імен одного об’єкта
copy()- мутація
Межа матеріалу
Використовуйте поняття, вивчені до Л1–Л12. Не використовуйте глибоке копіювання або вкладені структури. Робота перевіряє базову модель одного списку.
3. Варіант, вхідні дані та результат
У зошиті заповніть STUDENT_NAME, STUDENT_GROUP і STUDENT_X від 1 до 30.
Вхідні дані
| Поле | Зміст |
|---|---|
initial |
початковий список |
alias_append |
значення для зміни через спільне ім’я |
copy_append |
значення для зміни незалежної копії |
Поля результату
| Поле | Зміст |
|---|---|
original_final |
фінальний початковий список |
alias_final |
фінальний список через спільне ім’я |
copy_final |
фінальна незалежна копія |
Назви полів результату не змінюйте.
4. Терміни і правила
Терміни
- псевдонім списку — друге ім’я того самого об’єкта списку.
- незалежна копія — новий список з окремим станом.
- мутація — зміна вже наявного об’єкта.
Правила
- Почніть з
original = initial.copy(), потім створітьalias = originalі незалежнуcopy = original.copy(). - Через
alias.append(alias_append)змініть спільний список. - Через
copy.append(copy_append)змініть незалежну копію. - Фінальні значення трьох імен запишіть у
original_final,alias_finalіcopy_final.
Експеримент з іменами та об’єктами
original = list(initial)
alias = original
independent = original.copy()
alias.append(alias_append)
independent.append(copy_append)
До запуску спрогнозуйте три фінальні списки. Після запуску поясніть, які імена посилаються на один об’єкт.
5. Завдання
Завдання 1
До запуску запишіть прогноз фінальних значень original, alias і копії.
Завдання 2
Виконайте alias.append(alias_append) і додайте copy_append до незалежної копії.
Завдання 3
Запишіть original_final, alias_final і copy_final. Вкажіть, які два імена посилаються на один список.
6. Перевірка і здача
- Запустіть самоперевірку та виправте помилки.
- Перезапустіть ядро і виконайте роботу ще раз від початку.
- Збережіть
.ipynbі PDF з кодом та результатами.
Назва PDF: LR32_Прізвище_Група_VNN.pdf.