у новичков всегда да и у нормальных полноценных программистов бывало(и у меня тоже), что пишешь генереаторы для списков или словарей, на чистых циклах, как например for или while, но он выдавал вот такое!
а потом недоумеваешь, почему не от 1 до 10, а так, но это не проблема!
для этого и были созданы включения!
рассморим пример:
a = [number for number in range(1, 10) ]
print(a)
[ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]
здесь схема выглядит следующим образом:
переменная = [выражение for элемент in итерабельном обьекте]
если вы недоумеваете в чем тут дело, то поясню, здесь идет как-бы присваивание как в циклах( for number in range(1, n): ).
вот совершенно идентичные по выводу программы:
number_list = list(range(1, 10)) # првращение диапазона чисел в лист или список
print(number_list)
number_list = [number for number in range(1, 10)] # влючение
print(number_list)
number_list =[]
for number in range(1, 10):
number_range.append(number) #просто цикл for
print(number_list)
включения нужны для облегчения и быстродействия кода.
ДОПОЛНИЕЛЬНО!
*включения словарей:
{ выражение_ключа: выражение_значения for выражение in итерабельный объект }
*включения множества
{ выражение for выражение in итерабельный объект}
это сообщение было создано для повторения или, чтоб узнать новое из программирования!