Как изменится список после применения методов extend и append

Результат — ['beegeek', 'y', 'e', 's', 'no']. extend перебирает строку посимвольно, а append добавляет строку как один элемент.

Короткий ответ

Что ответить на собеседовании

Результат — ['beegeek', 'y', 'e', 's', 'no']. extend перебирает строку посимвольно, а append добавляет строку как один элемент.

Подробный разбор

Ответ с пояснениями

Условие

Определите, какой результат будет выведен на экран после выполнения представленной программы. Варианты ответов:

  • ['beegeek', 'y', 'e', 's', 'n', 'o']
  • ['beegeek', 'yes', 'no']
  • ['beegeek', 'y', 'e', 's', 'no']
  • ['beegeek', 'yes', 'n', 'o']
  • возникнет ошибка
data = ['beegeek']
data.extend('yes')
data.append('no')
print(data)

Ответ

Результат — ['beegeek', 'y', 'e', 's', 'no']. extend перебирает строку посимвольно, а append добавляет строку как один элемент.

data.extend('yes') добавляет все элементы переданного итерируемого объекта. Элементами строки являются символы, поэтому появляются три отдельные строки 'y', 'e', 's'.

data.append('no') ничего не перебирает и добавляет один объект — строку 'no'.

print(data)  # ['beegeek', 'y', 'e', 's', 'no']

Чтобы добавить 'yes' целиком через extend, пришлось бы передать список ['yes']. Оба метода изменяют исходный список и возвращают None, поэтому присваивать их результат обратно в data не нужно.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее