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

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

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

Списки в 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»]

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

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

Диэлектрики в электростатическом поле
Термин был введён М. Фарадеем 👨‍🎓 В диэлектриках все электроны связаны, т.е. принадлежат отдельным атомам, и электрическое поле не отрывает их, а...
Темы для ЕГЭ по профильной математике
Без теории никуда, поэтому составили список тем по каждому заданию из ЕГЭ по математике, чтобы ты начал потихоньку готовиться. Также сверься  с...
Первые шаги большевиков
Большевики не сразу пришли к власти, а двигались шаг за шагом — прямо как мы с тобой 🙃 Всё закрутилось в ноябре 1917 г., когда состоялись выборы в...
Обязанности пчелиной семьи
Пчёлы относятся к общественным насекомым. Эти насекомые живут совместно, образуют сообщества/семьи. К ним относятся термиты, муравьи 🐜 , осы и...
Возвышение Москвы
ПРЕДПОСЫЛКИ ОБЪЕДИНЕНИЯ РУССКИХ ЗЕМЕЛЬ: 🔺 Потребность в централизованной власти. Независимость нравится только верхам. А вот обычным крестьянам и...
Лирика М.Ю. Лермонтова
🔺 Запоминай ключевые моменты. Это точно пригодится на ЕГЭ!

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

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