Proglib.academy | IT-курсы
3.74K subscribers
2.09K photos
71 videos
14 files
1.95K links
Онлайн-курсы для программистов от создателей «Библиотеки программиста».

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/9f60aed6

Для обратной связи: @proglibrary_feeedback_bot
Download Telegram
✏️ Вопрос с реального собеседования по Python

Глубокая и мелкая копии: в чем разница

Когда вы работаете с изменяемыми объектами, такими как списки, разница между глубокой и мелкой копией становится важной. Давайте разберем это на двух сценариях с примерами.

1️⃣ Мелкая копия

Создается новый объект, но элементы копируются по ссылке. Добавление новых элементов в оригинал не повлияет на копию, но изменения самих элементов — повлияют.
list3 = [['a'], ['b'], ['c']]
list4 = list(list3)

list3.append(['d'])
print(list4)
# Вывод: [['a'], ['b'], ['c']]

list3[0][0] = 'X'
print(list4)
# Вывод: [['X'], ['b'], ['c']]


2️⃣ Глубокая копия

Глубокая копия создает независимый объект, включая его содержимое. Изменения в оригинале никак не затронут копию.
list5 = [['a'], ['b'], ['c']]
list6 = copy.deepcopy(list5)

list5.append(['d'])
list5[0][0] = 'X'
print(list6)
# Вывод: [['a'], ['b'], ['c']]


#собес_academy
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
✏️ Вопрос с реального собеседования по Python

Списки или массивы в Python — в чем разница

Используйте списки для работы с разными типами и динамическими структурами, массивы — для численных вычислений и ML

Гибкость: в списках можно хранить разные типы данных, массивы (из NumPy) требуют однородных элементов.

Операции: арифметика в списках — это манипуляция элементами (например, конкатенация), а в массивах — математические вычисления, как в линейной алгебре.

Эффективность: массивы занимают меньше памяти и работают быстрее, особенно на больших объемах данных.

#собес_academy
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
✏️ Вопрос с реального собеседования по Python

Как объединить два массива в NumPy

Частая ошибка — путать массивы и списки. NumPy — библиотека для работы с массивами, и здесь всё основано на линейной алгебре. Чтобы объединить два массива, используем специальную функцию:

import numpy as np

arr1 = np.array([10, 20, 30])
arr2 = np.array([40, 50, 60])

result = np.concatenate((arr1, arr2))
print(result)
#=> [10 20 30 40 50 60]


Самая база для новичков 👀

#собес_academy
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2