Ввод массива
Ввод массива — это чтение его элементов из входных данных и сохранение их в переменной-массиве. Обычно сначала считывают количество элементов \(n\), а затем сами элементы одной строкой или по одному.
Основные способы
В задачах чаще всего встречаются два формата. Если все элементы записаны в одной строке через пробел, строку разделяют на части и преобразуют каждую часть в число. В Python это удобно делать с помощью выражения list(map(int, input().split())). Если сначала дано \(n\), можно получить первые \(n\) чисел из строки: a = list(map(int, input().split())) и затем обращаться к ним как к элементам массива.
Если элементы поступают по одному, используют повторение \(n\) раз. Такой способ особенно удобен, когда каждое значение находится в отдельной строке:
n = int(input()) a = [] for i in range(n): a.append(int(input()))
Ввод: 5 и следующая строка 3 8 1 6 4. Программа n = int(input()); a = list(map(int, input().split())) создаёт массив a = [3, 8, 1, 6, 4]. При заполнении массива важно не перепутать количество элементов \(n\) с первым элементом массива: \(n=5\), а \(a[0]=3\).
Что окажется в переменной a после ввода строки 7 2 9 и выполнения a = list(map(int, input().split()))?
split() разделяет строку, а map(int, ...) преобразует части в целые числа.int преобразует части строки в числа.Нельзя считать строку целиком как одно число: int(input()) подходит только для строки с одним числом. Для нескольких элементов нужны split() и преобразование каждой части. Также индексы массива в Python начинаются с нуля: первый элемент — a[0], последний — a[n-1].
Главное
- Ввод массива — это последовательное чтение и сохранение его элементов.
- Для чисел в одной строке используют
list(map(int, input().split())). - При вводе по одному элементу повторяют чтение \(n\) раз и добавляют значения в массив.