Генератор списка и включение списка — одно и то же?
Начал изучать python, дошёл до включения списков. В конце каждой главы задания, которые вызвали у меня затруднения. Пришлось зайти в ютюб, начал смотреть видеоуроки и наткнулся на генератор списка, посмотрев урок показалось, что генератор списка и включение одно и то же. Так ли это ?
Тут проблема с рускоязычной терминологией.
Конструкцию вида:
a = [x+1 for x in range(10)]
Называют генератором списков. Суть в том что эта конструкция генерирует список. Т.е. её результат список. Но с точки зрения терминологии програмирования это списковое включение.
А вот генераторо списка будет иметь вид:
a = (x+1 for x in range(10))
Соответственно, он будет иметь свойства генератора, а не списка. Т.е. меньше занимает места при большом количестве элементов (хотя тут это не совсем приемлемое понятие, скорее потенциально генерируемых значений, как-то так), но элементы можно будет получать только последовательно. Нельзя будет обратиться сразу к 100 элементу.