Python: задачки и вопросы
7.68K subscribers
1.21K photos
2 videos
1 file
98 links
Вопросы и задачки для подготовки к собеседованиям и прокачки навыков

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

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

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

Другие наши проекты: https://tprg.ru/media
Download Telegram
Какая функция выполняет инверсию объектов в списке «на месте»?
Anonymous Quiz
7%
lst.pop(obj=lst[-1])
86%
lst.reverse()
5%
lst.sort([func])
2%
lst.remove(obj)
Продолжение бомбического гайда по работе с Pandas!

Узнайте, как анализировать данные ещё эффективнее, оптимизировать хранение данных в памяти и избегать лишних аллокаций

Также материал познакомит вас со списком альтернативных инструментов для обработки больших данных. Не упустите шанс стать мастером Pandas! Переходите по ссылке
Объяснение:

Для инверсии объектов в списке «на месте» в Python используется метод reverse()

Он изменяет порядок элементов в списке на обратный. «На месте» означает, что изменения происходят в том же списке, а не создаётся новый

Таким образом, после применения метода reverse(), исходный список будет содержать элементы в обратном порядке
Каким будет результат выполнения кода выше?
Anonymous Quiz
14%
{'Hello': 'World', 'First': 1}
66%
{'World': 'Hello', 1: 'First'}
5%
{'Hello': 1, 'First': 'World'}
15%
Error
Объяснение:

В словаре dct2 мы используем генератор словаря, который переворачивает ключи и значения словаря dct1

Это означает, что каждое значение из dct1 становится ключом в dct2, а каждый ключ из dct1 становится значением в dct2
Каким будет результат выполнения кода выше?
Anonymous Quiz
11%
why?!
80%
?!why
3%
wy!
6%
Error
Объяснение:

Когда мы берём срез text[3:], мы получаем все символы, начиная с четвёртого (индексация с 0), то есть "?!"

Когда же мы работаем со срезом text[:3], мы получаем уже первые три символа строки, то есть "why"

Затем мы соединяем два полученных среза, сначала "?!" и потом "why", что даёт итоговую строку "?!why"
Каким будет результат выполнения кода выше?
Anonymous Quiz
20%
['b', 'o']
10%
['b', 'o', 'b', 'o']
6%
[]
65%
Error
Объяснение:

Выражение lst1 + lst2 - 2 * lst3 будет вызывать ошибку, так как операции вычитания (-) и умножения (*) не определены для списков в контексте кода выше

Операция сложения (+) между двумя списками допустима и приведёт к их объединению

Но когда интерпретатор дойдёт до операции вычитания, он выдаст ошибку. Чтобы выполнить вычитание или умножение списков, нужно использовать специализированные функции или библиотеки, например, NumPy для работы с массивами
Каким будет результат выполнения кода выше?
Anonymous Quiz
80%
[-2, -1, 0]
7%
[0, 1, 2]
3%
0
11%
Error
Объяснение:

Код выше использует функцию filter(), чтобы отфильтровать элементы списка lst, применяя функцию func() к каждому из них

В свою очередь, функция func() возвращает True для значений меньше 1 и False для значений больше или равных 1

Поэтому, когда filter() применяется к lst с помощью func(), он сохраняет только те элементы, для которых func() возвращает True
Каким будет результат выполнения кода выше?
Anonymous Quiz
32%
-1
7%
0
14%
1
48%
Error
Объяснение:

Здесь применяются унарные операторы + и -

Унарный + не изменяет значение операнда, в то время как унарный - меняет знак операнда на противоположный.

Однако эти операторы применяются последовательно, а не одновременно. Сначала применяется унарный оператор + к переменной num, что не изменяет её значение, а затем унарный оператор - применяется к результату, меняя знак на противоположный

Так мы и получаем ответ -1
Каким будет результат выполнения кода выше?
Anonymous Quiz
69%
2 7
16%
1 7
4%
2 5
11%
1 5