Копирование списков

Редакция Без Сменки
Честно. Понятно. С душой.

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

Списки в Python представляют изменяемый тип данных( т.е элементы списка можно изменять после создания самого списка, а вот строка — неизменяемый тип!)

!Поэтому если обе переменные будут указывать на один и тот же список, то копирования не произойдет, мы получим 2 совершенно одинаковых списка в результате.

смотри пример:

cities1=[«Moscow», «Sochi», «Vologda»] cities2=cities1 #список cities2 и список cities1 указывают на один и тот же объект
cities2.append(«Kazan») #добавляем еще один элемент в список cities2
print(cities1) #[“Moscow”, “Sochi”, “Vologda”, ”Kazan”] print(cities2) #[“Moscow”, “Sochi”, “Vologda”, “Kazan”]

◾️LIST.COPY() :

Чтобы такого не случилось, можно воспользоваться встроенной функцией list.copy() —
тогда мы получим 2 списка, которые ссылаются на разные списки.

Посмотрим как работает:

cities1=[«Moscow», «Sochi», «Vologda»] cities2=cities1.copy() #список cities2 и список cities1 указывают на один и тот же объект
cities2.append(«Kazan») #добавляем еще один элемент в список cities2
print(cities1) #[“Moscow”, “Sochi”, “Vologda”] print(cities2) #[“Moscow”, “Sochi”, “Vologda”, “Kazan”]

все супер! Первый список остался неизмененным!

◾️Копирование частей списка

Иногда возникает ситуация, когда весь список нам копировать не требуется, достаточно только какой-то определенной части:

1. list[:end] — копируем список до end(не включая!)
2. list[start:end] — копируем список с start до end(не включая!)
3. list[start🔚step] -копируем список с start до end(не включая!) с шагом step

Пример:
cities=[«Moscow», «Sochi», «Vologda», «Kazan» ] new_cities=cities[:1] print(new_cities) #результат: [«Moscow»]

new_cities=cities[1:3] print(new_cities) #результат: [«Sochi», «Vologda»]

new_cities=cities[1:4:2] print(new_cities) #результат: [«Sochi», «Kazan»]

Где вы учитесь?

Вам также будет интересно

Удельная теплота плавления
Такая же величина выделяется и при кристаллизации 1 кг вещества. Обозначается удельная теплота плавления всем известной буковкой —лямбда! 💟 Для...
Химические свойства углеводов
В молекулах углеводов несколько функциональных групп, поэтому их химические свойства довольно объёмны. Но сложного ничего нет, если вы уже изучили...
ЗАДАНИЕ 11 | ОСОБЕННОСТИ ПРИРОДНО-РЕСУРСНОГО ПОТЕНЦИАЛА, НАСЕЛЕНИЯ, ХОЗЯЙСТВА, КУЛЬТУРЫ КРУПНЫХ СТРАН МИРА
Задание базового уровня | Оценивается в 2 балла 📜 Алгоритм решения: ① Изучаем текст и предложенные слова; ② Записываем ответ. 📖 Пример...
Политические партии начала XX века
💥 Российская социал-демократическая рабочая партия , 1898 г. В 1903 г. участники данной партии разделились на 2 движения, которые не сходились во...
Связь между примерами
Ловите нашу шпаргалку для ЕГЭ по русскому языку, которая поможет вам лучше ориентироваться в связи между примерами. Снизу сможете найти ссылку и...
Абсолютная и относительная истина
🔸 Объективная истина — это такое содержание знания, которое не зависит от субъекта познания. 🔸 Субъективная истина — это знание, которое зависит...

0 комментария

Авторизуйтесь, чтобы оставить комментарий.