Словари (ассоциативные массивы), способы их задания в Python и функции для работы с ними. Изменяемые и неизменяемые типы данных. Множества. Преобразование типов.

Изменяемые и неизменяемые типы данных

На прошлом семинаре вы могли говорить о изменяемых и неизменяемых типах данных.

Отличие изменяемых типов данных от НЕизменяемых состоит в том, что если вы измените объект изменяемого типа данных, то он изменится для всех ссылок ведущих к этому объекту. Попробуйте запустить код ниже

krosh_friends = ["ёжик", "бараш"]
nyusha_friends = krosh_friends
print("До инциндента с фантиками")
print(f"Друзья Кроша {krosh_friends}")
print(f"Друзья Нюши {nyusha_friends}\\n")

# сейчас к объекту ["ёжик", "бараш"] ведут две ссылки: 
# krosh_friends и nyusha_friends
# изменим значение по одной из них и посмотрим, изменится ли значение по второй
# допустим, Крош поругался с Ёжиком и больше не считает его своим другом 
# воспользуемся методом списка remove(), который удаляем элемент по его значению

krosh_friends.remove("ёжик")
print("После инциндента с фантиками")
print(f"Друзья Кроша {krosh_friends}")
print(f"Друзья Нюши {nyusha_friends}\\n")

# значение изменилось и для nyusha_friends!
# Хотя Нюша с Ёжиком не ругалась
# попробуем провести аналогичную операцию для неизменяемого типа данных

krosh_favourite_food = "carrots and sea kale"
nyusha_favourite_food = krosh_favourite_food
print("До экспедиции за морской капустой")
print(f"Любимая еда Кроша {krosh_favourite_food}")
print(f"Любимая еда Нюши {nyusha_favourite_food}\\n")

# строка - это неизменяемый тип данных
# посмотрим изменится ли значение по ссылке nyusha_favourite_food
# если поменять его по ссылке krosh_favourite_food
# Попробовав морскую капусту Крош понял, что она ему не нравится
# сначала методом replace(old, new) найдем подстроку "and sea kale" 
# и заменим её на пустое место
# потом удалим пробелы на границах методом strip()

krosh_favourite_food = krosh_favourite_food.replace("and sea kale", "")
krosh_favourite_food = krosh_favourite_food.strip()

print("После экспедиции за морской капустой")
print(f"Любимая еда Кроша {krosh_favourite_food}")
print(f"Любимая еда Нюши {nyusha_favourite_food}\\n")

# Значение по ссылке nyusha_favourite_food не изменилось, 
# потому что строка это НЕизменяемый тип данных
# А ещё в экспедицию за капустой Нюша не ходила, 
# поэтому пока не знает какая она на вкус

Задачка 0

# создайте список друзей Нюши так,
# чтобы список друзей Кроша на него не влиял
krosh_friends = ["ёжик", "бараш"]
nyusha_friends = YOUR CODE HERE