Python: задачки и вопросы
7.76K subscribers
1.18K photos
1 video
1 file
88 links
Вопросы и задачки для подготовки к собеседованиям и прокачки навыков

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Другие наши проекты: https://tprg.ru/media
Download Telegram
М и L ссылаются на разные объекты, хоть у них и одинаковые значения.
Марк Лутц, «Изучаем Python»: положительные смещения начинаются с левого края (смещение 0 дает первый элемент), а отрицательные — с правого края (смещение -1 дает последний элемент). Однако нельзя, чтобы индекс начального элемента среза был отрицательным, а конечного — положительным («смыкать» начало и конец строки Python не станет).
Что выведет код?
Anonymous Quiz
69%
Ничего
11%
iceofs
4%
i
16%
iceofsp
Что выведет код?
Anonymous Quiz
59%
[24, 3, 4]
30%
[2, 3, 4]
10%
[24, 2, 3, 4]
0%
Error
Марк Лутц, «Изучаем Python»: на самом деле мы здесь не модифицировали сам список L1, а изменили компонент объекта, на который L1 ссылается. Изменение такого рода перезаписывает часть значения спискового объекта на месте. Однако поскольку списковый объект совместно используется другой переменной (она ссылается на него), изменение на месте подобного вида оказывает влияние не только на L1. ... В приведенном примере эффект модификации отражается и в списке L2, т.к. он ссылается на тот же самый объект, что и L1. В действительности мы не изменяли список L2, но его значение стало другим, потому что он ссылается на объект, который был перезаписан на месте.
Какие элементы «захватит» нарезка?
Anonymous Quiz
82%
[2, 3]
7%
[2, 4]
8%
[1, 2, 3]
3%
[1, 2]
Марк Лутц, «Изучаем Python»: Основы нарезания прямолинейны. Когда вы индексируете объект последовательности вроде строки с указанием пары смещений, разделенных двоеточием, Python возвращает новый объект, который содержит непрерывный сегмент, идентифицируемый парой смещений. Левое смещение считается нижней границей (включающей), а правое — верхней границей (исключающей). То есть Python извлекает элементы, начиная с нижней граница и заканчивая, но не включая верхнюю границу, и возвращает новый объект, содержащий извлеченные элементы. Если левая и правая границы не указаны, тогда по умолчанию для них принимается 0 и длина нарезаемого объекта соответственно.

То есть для массива будут выбраны:
- слева: элемент с индексом 1 — число 2 (помним про индексацию с нуля)
- справа: элемент с индексом 3 НЕВКЛЮЧИТЕЛЬНО (то есть остается число 3)
Что выведет код? #джуну
Что выведет код?
Anonymous Quiz
17%
adgjmp
8%
nop
67%
acegikmo
9%
Error