Динамически создаваемые массивы

В Python очень удобно и лаконично организовано создание массивов на лету. К примеру с помощью такой строки:

evens_to_50 = [i for i in range(51) if i % 2 == 0]

можно получить вот такой массив:

[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50]

Есть ещё такой, более сложный вариант:

even_squares = [x ** 2 for x in range(1,11) if x % 2 == 0]
for i in even_squares:
  print (i)

Условно, формирование нового массива можно разделить на 3 этапа: 

1. x ** 2 - что требуется сделать с каждым элементом массива.
2. for x in range(1,11) - цикл, на основе которого будем формировать новый массив. То есть в данном случае, будем возводить в квадрат каждое число от 1 до 11.
3. if x % 2 == 0 - условие, согласно которому новые элементы будут отбираться. В данном случае, будут выбраны только чётные числа. 

Комментарии ()

    Вы должны авторизоваться, чтобы оставлять комментарии.