Циклы
Блок
for
начинаются со строки заголовка, где указывается переменная для присваивания (или – цель), а также объект, обход которого будет выполнен. Вслед за заголовком следует блок (обычно с отступами) инструкций, которые требуется выполнить:<target> in <object>: # Связывает элементы объекта с переменной цикла
<statements> # Повторяющееся тело цикла: использует переменную цикла
else:
<statements> # Если не попали на инструкцию ‘break’
Блок
else
не выполнится, если цикл был прерван с помощью оператора break
.Чтобы получить каждый второй символ из строки S, можно извлечь срез с шагом (страйдом) 2:
>>> S = ‘abcdefghijk’
>>> for c in S[::2]: print(c, end=’ ‘)
... a c e g i k
Длина списка, возвращаемого функцией
элементов в кратчайшей последовательности.
zip
, равна длине кратчайшей из последовательностей, если аргументы имеют разную длину. В задаче выше выполняется объединение двух строк с целью параллельной обработки их символов, при этом результат содержит столько кортежей, сколько былоэлементов в кратчайшей последовательности.
Что выведет код?
Anonymous Quiz
12%
['s0', 'p1', 'a2', 'm3']
14%
['0s', '1p', '2a', '3m']
63%
['', 'p', 'aa', 'mmm']
12%
Error
Функция
В контексте задачи выше
В дальнейшем индексы повторяют буквы
enumerate
возвращает объект-генератор, который позволяет итерироваться по значению, создаваемому в процессе выполнения кода, без необходимости загружать все значения в память сразу. Это особенно полезно для работы с большими и динамически генерируемыми наборами данных.E = enumerate(S)
E # <enumerate object at 0x02765AA8>
В контексте задачи выше
c
— каждая из букв 'spam'
, i
— её индексы в строке. Первый элемент результирующего списка равен пустоте, потому что c * i = 's' * 0
('s'
повторяется 0
раз).В дальнейшем индексы повторяют буквы
p
, a
и m
по 1
, 2
и 3
раза соответственно (перемножение строки и целого числа дает повторение строки).Что делает встроенная функция map()?
Anonymous Quiz
6%
Сортирует элементы в итерируемом объекте
78%
Применяет вызов функции к каждому элементу в переданном итерируемом объекте
11%
Формирует пары из элементов в итерируемом объекте и их относительных позиций
6%
Выбирает элементы из итерируемого объекта по условию
Чем отличается встроенная функция sorted() от встроенного метода .sort()?
Anonymous Quiz
43%
Возвращает новый объект, а не изменяет на месте
7%
Применима к многим итерируемым объектам (не только спискам)
9%
При вызове вернет отсортированный список, а не None
41%
Все вышеперечисленное
Выполнится ли код выше? file.py существует и является валидным файлом.
Anonymous Quiz
57%
Да
43%
Нет
В вызовах функций можно применять специальную форму *аргумент для распаковки коллекции значений в индивидуальные аргументы. Здесь подойдет любой итерируемый объект, в том числе и файлы.
Что выведет код?
Anonymous Quiz
7%
b: 2, a: 1, c: 3,
12%
1:a, 2:b, 3:c,
68%
a: 2, b: 1, c: 3,
13%
Error
sorted(testDict)
сгенерирует список упорядоченных ключей testDict
, то есть:sortedKeys = sorted(testDict)
print(sortedKeys) # ['a', 'b', 'c']
Теперь для каждого элемента
sortedKeys
мы генерируем пару "ключ: значение по ключу из testDict")# Для i = 0
print(sortedKeys[0], testDict['a']) # a: 2
Что из нижеперечисленного верно про функции?
Anonymous Quiz
30%
Принимают параметры
3%
Могут отличаться при каждом выполнении кода
2%
Группируют наборы операторов
65%
Все вышеперечисленное
Какие утверждения про *args от *kwargs верны?
Anonymous Quiz
8%
*args создает словарь именованных аргументов функции
12%
*kwargs создает список позиционных аргументов функции
5%
Количество астерисков * неважно, главное — слова args / kwargs
74%
Нет ни одного верного утверждения