Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Современные средства разработки программного обеспечения. Учебное пособие

.pdf
Скачиваний:
1
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
81
16 Какие уровни протоколирования существуют в Python библиотеке logging?
17 Какие модули содержит стандартная библиотека Python для под- держки ведения журнала (логирования)?
18 Какую возможность дает создание журнала логов на уровне модуля?
82
7 Списки в Python
Списки в Python представляют собой упорядоченный набор данных. Элементы в списке могут быть разного типа, могут повторяться и являются изменяемыми –
Immutable.
7.1 Создание списка
Списки в Python можно создавать следующими способами:
- заключив последовательность в квадратные скобки [].
- с помощью конструктора с различными параметрами.
Пример 1.
["Python ", "for", " Begin"]
Сложности создания списков
Временная сложность: O(1).
Пространственная сложность: O(n).
Пример 2. Код на Python демонстрирует способы создания списка и вывод его.
83
Создание с помощью генераторов можно посмотреть в подразделе о генераторах списков.
7.2 Доступ к элементам списка Python
Доступ к элементам списка, осуществляется по номеру индекса [28]. С помо­щью оператора индекса: []. Индексация может быть положительная: слева на право, начиная нумеровать элементы с нуля, и отрицательная: справа на лево, т.е. с конца массива. Отрицательная индексация означает начало с конца, -1 относится к послед­нему элементу, -2 относится к предпоследнему элементу и т.д.
Отрицательная индексация позволяет вместо вычисления смещения, как в
List[len(List)-3], просто написать List[-3].
84
Доступ к вложенным спискам осуществляется с помощью вложенной индексации.
Пример 3. Доступ к элементам из многомерного списка
Сложности доступа к элементам в списках:
Временная сложность: O(1)
Пространственная сложность: O(1)
7.3 Получение размера списка Python
Python функция len() используется для получения длины списка.
85
0
3
7.4 Получение входных данных из списка Python
Входные данные списка элементов можно принимать в виде строки, целого числа, числа с плавающей точкой и т.д. Но по умолчанию используется строка.
Пример 1. Ввод элементов списка в виде строки с пробелами между элемен-
тами.
Пример 2 Ввод числовых элементов списка, разделенных пробелами
86
Enter the size of list : 4
Enter the integer elements: 4 3 9 15
The list is: [4, 3, 9, 15]
7.5 Добавление элементов в список Python
Добавлять элементы в список можно несколькими способами.
Способ 1. Использование метода append().
С помощью встроенного метода append() могут быть добавлены элементы в конец списка либо по одному за раз, для добавления нескольких элементов исполь­зуются циклы. Также функция принимает на вход кортежи или списки.
Пример. Демонстрация добавления элементов списка
87
Initial blank List:
[]
List after Addition of Three elements:
[1, 2, 4]
List after Addition of elements from 1-3:
[1, 2, 4, 1, 2, 3]
List after Addition of a Tuple:
[1, 2, 4, 1, 2, 3, (5, 6)]
List after Addition of a List:
[1, 2, 4, 1, 2, 3, (5, 6), ['For', 'Begin']]
Сложности добавления элементов в списки (метод append()):
Временная сложность: O(1)
Пространственная сложность: O(1)
Способ 2. Использование метода insert().
Метод insert() используется для добавления элементов в нужную позицию. Метод insert() требует двух аргументов (position, value).
Пример. Добавление элементов списка
List = [1,2,3,4]
List.insert(3, 12)
Сложности добавления элементов в списки (метод insert()):
Временная сложность: O (n)
Пространственная сложность: O(1)
Способ 3. Использование метода extend().
Метод extend() используется для добавления нескольких элементов одновре­менно в конец списка.
88
Пример. Демонстрация добавления элементов списка
List = [1, 2, 3, 4]
List.extend([8, 'Begin', 'Always'])
7.6 Переворачивание списка
Способ 1. Список можно перевернуть с помощью метода reverse() в Python.
# Reversing a list
mylist = [1, 2, 3, 4, 5, 'Begin', 'Python']
mylist.reverse()
print(mylist)
['Python', 'Begin', 5, 4, 3, 2, 1]
Способ 2. Использование функции reversed():
Функция reversed() возвращает обратный итератор, который может быть пре-
образован в список с помощью функции list().
my_list = [1, 2, 3, 4, 5]
reversed_list = list(reversed(my_list))
print(reversed_list)
[5, 4, 3, 2, 1]
7.7 Удаление элементов из списка
Способ 1. Использование метода remove().
89
Метод remove() удаляет только первое вхождение искомого элемента, для удаления диапазона элементов используется итератор, если элемент не существует в списке возникает ошибка.
Пример 1. Демонстрация удаления элементов списка
List = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
print("Initial List: ")
print(List)
List.remove(5)
List.remove(6)
print("List after removal of two elements: ")
print(List)
Initial List:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
List after Removal of two elements:
[1, 2, 3, 4, 7, 8, 9, 10, 11, 12]
Сложности удаления элементов в списках методом remove():
Временная сложность: O(n).
Пространственная сложность: O(1).
Способ 2. Использование метода pop().
Функция pop() может использоваться для удаления и возврата элемента из списка по индексу, переданному в качестве параметра, по умолчанию удаляется по­следний элемент списка.
List = [1, 2, 3, 4, 5]
# Removing element from the Set using the pop() method
List.pop()
print("List after popping an element: ")
print(List)
# Removing element at a specific location from the
# Set using the pop() method
List.pop(2)
90
print("List after popping a specific element: ")
print(List)
Результат программы:
List after popping an element:
[1, 2, 3, 4]
List after popping a specific element:
[1, 2, 4]
Сложности удаления элементов в списках методом pop():
Временная сложность: O(1)/O(n) (O(1) для удаления последнего элемента,
O(n) для удаления первого и среднего элементов).
Пространственная сложность: O(1).
7.8 Срезы списка
Используя операцию среза можно получать подстроки и подсписки.
Операция среза выполняется над списками с использованием двоеточия(:).
Для получения элементов от начала до заданного индекса используют срез:
[: Индекс]
Тоже самое с отрицательной индексацией:
[:-Индекс]
Для получения элементов с определенного индекса до конца:
[Индекс:]
Чтобы распечатать весь список в обратном порядке:
[::-1]
Примечание – Для печати элементов из правой части списка лучше использо­вать отрицательные индексы.
Пример.
List = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
print("Initial List: ")
print(List)
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]