Статья Автор: Корельская Елена Юрьевна

Теория

Напомним, что мы научились работать со следующими типами данных:
  • int (целое число);
  • float (вещественное число);
  • str (строка);
  • bool (булевский тип).
Эти типы являются простыми. Кроме этого, в Python существуют сложные типы данных, к которым относят:
  • list (список, массив);
  • tuple (кортеж);
  • dict (словарь);
  • set (множество).
Чтобы упростить работу с большим объёмом данных, группе ячеек присваивается одно общее имя. Эта группа называется массивом.
Массив — это структура данных, которая хранит набор значений (элементов массива), расположенных рядом и имеющих общее имя.
Массивы в Python называются списками. Список можно представить в виде таблицы. Мы будем рассматривать одномерные списки, то есть таблицу с одной строкой.

Действия со списками:
  1. Создание списка
    1. Пустой список можно создать двумя способами:
a = []
a = list()
    1. Не пустой список можно задать перечислением элементов:
n = [1, 4, 12, 19, 55]
fruits = ['яблоко', 'банан', 'апельсин', 'груша', 'ананас']
x = [0, 3.14, 'python', 't', True]

Для задания списка используют квадратные скобки или служебное слово list.           

Элементами первого списка n являются целые числа. Элементами второго списка fruits являются строки. Элементами списка x являются разнотипные элементы: целые, вещественные числа, строки, логические значения. Несмотря на то, что Python позволяет создавать списки из разнотипных данных, на практике, чаще всего встречаются массивы из однотипных данных: массив целых чисел, массив вещественных чисел, массив строк и так далее.
 
2. Сложен ие списков.

Пример
  Результат
a = [1, 2] + [3, 4] a = [1, 2, 3, 4]
a = [3, 4] + [1, 2] a = [3, 4, 1, 2]
Обратите внимание, что при сложении списков важен порядок слагаемых.

3. Умножение  списка на натуральное число
Пример Результат
a = [0] * 5 a = [0, 0, 0, 0, 0]
a = [1, 2] * 3 a = [1, 2, 1, 2, 1, 2]

4. Количество элементов списка, длина списка
Пример Результат
a = []
print(len(a))

0
a = [1, 2, 7, 15, 9]
print(len(a))

5

5. Обращение к элементу списка, срез списка
 
Индекс
положительный
0 1 2 3 4
Элемент
списка
1 2 7 15 9
Индекс
отрицательный
-5 -4 -3 -2 -1
 
Пример Результат
a = [1, 2, 7, 15, 9]
print(a[3])
print(a[7])
print(a[-3])
print(a[-6])
print(a[1:3])
print(a[:2])
print(a[2:])
print(a[::-1])

15
ошибка – выход за границу списка
7
ошибка – выход за границу списка
[2, 7]
[1, 2]
[7, 15, 9]
[9, 15, 7, 2, 1]

Важно помнить, что нумерация элементов списка начинается с нуля, а последний элемент списка имеет номер len(a) – 1. При использовании отрицательной нумерации последний элемент массива имеет номер -1, а первый -len(a). При обращении к элементу списка по индексу, которого не существует, происходит ошибка выхода за границу диапазона.
Срез позволяет извлекать элементы из списка, указывая начальный и конечный индексы диапазона, а также шаг, с которым нужно извлекать элементы. Нужно помнить, что при указании диапазона среза начальный индекс включен в диапазон, а конечный – не включен.

6. Изменение элемента списка
Индекс
положительный
0 1 2 3 4
Элемент
списка
1 2 7 15 9
 
Пример Результат
a = [1, 2, 7, 15, 9]
a[3] = 0
a[:2]=[-3, -100]

[1, 2, 7, 0, 9]
[-3, -100, 7, 0, 9]

            Обратите внимание, что в отличие от строк, список – изменяемый тип данных, поэтому изменение одного или нескольких элементов списка ошибку не вызывает.

7. 
Вывод элементов списка
    а) В одну строку


При использовании конструкции print(список) список выводится в квадратных скобках, элементы перечисляются через запятую.
В Python есть возможность более «красивый» вывод списка используя конструкцию print(*список).Знак * перед именем массива означает, что нужно преобразовать набор элементов без скобок, в качестве разделителя между элементами списка – пробел.
 
    б) Каждый элемент с новой строки
Способ 1 - обращение к элементу


Способ 2 - обращение через индекс


Действия со строками и списками очень похожи. Самая существенная разница при работе с этими типами данных состоит в том, что строка – неизменяема, а список – изменяем. Поэтому операция изменения строки невозможна (возникнет сообщение об ошибке), а изменить элементы списка можно.
 
Действие Строки Списки
Создание пустой строки/ пустого списка x = ''
y = str()
x = []
y = list()
Задание строки/ списка x = 'python' x = [1, -7, 33, 100, -2]
Сложение x = 'pyt' + 'hon' x = [3, -2] + [1, 0]
Умножение на число x = 'python' * 5 x = [1, -7, 33, 100, -2]*5
Длина len('python') len([1, -7, 33, 100, -2])
Обращение к элементу x = 'python'
print(x[2])
x = [1, -7, 33, 100, -2]
print(x[2])
Срез x = 'python'
print(x[1:3])
print(x[::-1])
x = [1, -7, 33, 100, -2]
print(x[1:3])
print(x[::-1])
Изменение элемента НЕВОЗМОЖНО x = [1, -7, 33, 100, -2]
x[1] = 0
Печать