Что означает эта запись на Python?

5fa07b15cc2ea679077211.png

Объясните, пожалуйста, что делает и как называется условие в 5 строке в квадратных скобках, а также в строке 6, там, где фигурные скобочки.
  • Вопрос задан
  • 323 просмотра
Решения вопроса 1
@PavelMos
1. Генератор списков (list comprehension) с условием. Простой генератор создаёт список, применяя к каждому элементу из исходного итерируемого (перебираемого) объекта (dict, set, list, tuple или более сложные объекты, создаваемые какими-то функциями) такое-то действие, например, x*x for x in spisok - взять очередной элемент x (x это просто временное имя для генерирования, можно и ... for y in spisok) из списка spisok, умножить его на самого себя и поместить в результирующий список.

Генератор с условием проверяет очередной элемент по условию и применяет для вычисления результата одну или другую формулу

2. здесь к объекту типа строка, где вписана специальная метка, применяется функция format, которая на основе этой метки вставит в строку содержимое своего аргумента (names). Подробнее читай про python format
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@kirillinyakin
Эта запись эквивалентна
for name in names:
    if name != n_name:
        names.append(name)
    else:
        names.append(new_n_name)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы