Массивы

Чтение массива

1 способ, данные даны "в столбик" Изначально заводится пустой массив и далее в цикле фуекцией append мы добавляем в конец масива считанные значения(не обязятельно числа, это могут быть строки или снова массивы)

In [6]:
n = int(input())
a = []
print(a)
for i in range(n):
    a.append(int(input()))
print(a)
3
[]
4
7
2
[4, 7, 2]

2 способ, данные даны "в столбик" Заводим массив неободимой длины и в цикле присваиваем в нужные ячейки нужные значения.

In [7]:
n = int(input())
a = [0] * n
print(a)
for i in range(n):
    a[i] = int(input())
print(a)
4
[0, 0, 0, 0]
7
5
8
9
[7, 5, 8, 9]

Вторым способом проще, чем первым считать данные наоборот

In [12]:
n = int(input())
a = [0] * n
print(a)
for i in range(n-1, -1, -1):
    a[i] = int(input())
print(a)
4
[0, 0, 0, 0]
1
2
3
4
[4, 3, 2, 1]

3 способ, данные даны "в строчку" input().split() считывает всю строку и разбивает её на несколько элементов по пробелам, получается некий список, причем каждый элемент списка - строка. Функция map применяет функцию из первого параметра к каждому элементу из списка. И далее полученный список функцией list приводится к типу массив

In [13]:
print(input().split())
1 2 3 4
['1', '2', '3', '4']
In [10]:
a = list(map(int, input().split()))
print(a)
1 2 5 6 3
[1, 2, 5, 6, 3]

Работа с массивом

Обращение к элементу массива. Элементы нумеруются с нуля. Можно задавать отрицательные индексы, тогда элементы будут нумероваться с конца

In [17]:
a = ['ab', 'ba', 'cb', 'be']
print(a[2], a[3], a[0])
cb be ab
In [18]:
print(a[-1], a[-2], a[-3], a[-4])
be cb ba ab

Количество элементов в массиве

In [21]:
len(a)
Out[21]:
4

Вывод массива

1 способ в столбик

In [22]:
a = [1, 3, 5, 'aba']
for i in a:
    print(i)
1
3
5
aba

тоже самое

In [24]:
for i in range(len(a)):
    print(a[i])
1
3
5
aba

2 способ в строку

In [23]:
for i in a:
    print(i, end = ' ')
1 3 5 aba