Что означает эта запись на Python?
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
Эта запись эквивалентна
for name in names:
    if name != n_name:
        names.append(name)
    else:
        names.append(new_n_name)