Генераторы списков
Язык Python позволяет решать многие задачи кратко и надёжно. Перечислим основные возможности по заполнению массива. 1) Создание и заполнение массива можно записать следующим образом:
A = [i for i in range(N)] # При N = 5, массив A = [0,1,2,3,4]
A = [i*i for i in range(N)] # При N = 5, массив A = [0,1,4,9,16]
for i in range(N)
- перебирает все значения
i
от
0 до
N-1.
В очередной элемент массива будет записано значение, которое стоит перед словом
for
, в первом случае
i
, во втором -
i*i
.
Тот же результат получим при использовании следующей записи:
A = list(range(N)) # при N = 5, массив A = [0,1,2,3,4]
2) Можно записывать в массив не все значения, а только те, что удовлетворяют определенному условию.
Пример
Заполнение массива всеми четными числами в диапазоне от
0 до
9.
A = [i for i in range(10)
if i % 2 == 0]
print(*A) # массив A = [0,2,4,6,8]
В данном случае нужно понимать, что длина массива будет меньше 10.
3) Заполнение массива с клавиатуры элементами, которые расположены по одному в строке, можно оформить двумя способами.
N = 5
A = [0]*5
for i in range(N):
A[i] = int(input())
|
A = [int(input()) for i in range(N)]
# при каждом повторении цикла,
# введенная строка преобразуется
# в целое число (с помощью int)
# и это число добавляется к массиву
|
4) Заполнение массива с клавиатуры элементами, которые все расположены в одной строке немного сложнее. Необходимо считать строку, разбить ее на элементы, а затем каждый элемент преобразовать в целое число
s = input().split()
A = [int(i) for i in s]
или так
A = list(map(int, input().split())) # встроенная функция list()
# преобразует последовательность
# в изменяемый список
Вывод массива
Выводить массив на экран можно также разными способами.
Стандартный способ, используемый во многих языках программирования. |
Такой цикл можно записать короче. В значение х на каждом шаге цикла заносится очередной элемент массива. |
В языке Python можно написать и так. |
for i in range(len(A)):
print(A[i], end=" ")
|
for x in A:
print(x, end=" ")
|
print(*A)
# знак * перед именем
# массива означает, что
# нужно преобразовать
# массив в набор отдельных значений
|