learning:py
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
learning:py [02.06.2025 08:40] – [Обработка исключений] viacheslav | learning:py [06.06.2025 09:18] (текущий) – [Поиск и методы обработки списков] viacheslav | ||
---|---|---|---|
Строка 1205: | Строка 1205: | ||
Необработанное исключение приводит к остановке выполнения программы. Исключение может быть необработанным, | Необработанное исключение приводит к остановке выполнения программы. Исключение может быть необработанным, | ||
- | стр | + | ===== Списки и кортежи ===== |
+ | // | ||
+ | - // | ||
+ | - // | ||
+ | |||
+ | // | ||
+ | |||
+ | <code python> | ||
+ | # Списки | ||
+ | nums = [2, 4, 6, 8, 10] | ||
+ | names = [' | ||
+ | info = [' | ||
+ | |||
+ | # Функция list() преобразует некоторые типы объектов в списки | ||
+ | list(range(5)) # даст [0, 1, 2, 3, 4] | ||
+ | |||
+ | # * становится оператором повторения, | ||
+ | repeat = [1,2,3] * 3 | ||
+ | print(repeat) | ||
+ | [1, 2, 3, 1, 2, 3, 1, 2, 3] | ||
+ | |||
+ | # Обход списка в for | ||
+ | numbers = [2, 4, 6, 8, 10] | ||
+ | for num in numbers: | ||
+ | print(num) | ||
+ | |||
+ | # Индексы | ||
+ | numbers[0] # 2 | ||
+ | numbers[1] # 4 | ||
+ | numbers[-1] # 10 | ||
+ | numbers[5] # Исключение IndexError | ||
+ | |||
+ | # Длина последовательности - len() | ||
+ | numbers = [2, 4, 6, 8, 10] | ||
+ | index = 0 | ||
+ | while index < len(numbers): | ||
+ | print(numbers[index]) | ||
+ | index += 1 | ||
+ | |||
+ | # Обход списка по индексу | ||
+ | numbers = [2, 4, 6, 8, 10] | ||
+ | for index in range(len(numbers)): | ||
+ | print(numbers[index]) | ||
+ | |||
+ | # Изменение списка. Изменить можно только существующие индексы. | ||
+ | numbers = [2, 4, 6, 8, 10] | ||
+ | numbers[0] = 1 # [1, 4, 6, 8, 10] | ||
+ | numbers[5] = 12 # исключение IndexError | ||
+ | # Можно сначала создать список, | ||
+ | numbers = [0] * 6 | ||
+ | n = 11 | ||
+ | for i in range(len(numbers)): | ||
+ | numbers[i] = n | ||
+ | n += 1 | ||
+ | print(numbers) # [11, 12, 13, 14, 15, 16] | ||
+ | |||
+ | # Конкатенация (слияние) списков | ||
+ | list1 = [1,2,3] | ||
+ | list1 = [4,5,6] | ||
+ | list3 = list1 + list2 # [1, 2, 3, 4, 5, 6] | ||
+ | # Можно так: | ||
+ | list1 += list2 # list1 будет [1, 2, 3, 4, 5, 6] | ||
+ | |||
+ | # Нарезка списка - [< | ||
+ | numbers = [2, 4, 6, 8, 10] | ||
+ | print(numbers[1: | ||
+ | print(numbers[2: | ||
+ | # Если начальный индекс не указан, | ||
+ | print(numbers[: | ||
+ | # Если конечный индекс не указан, | ||
+ | print(numbers[3: | ||
+ | print(numbers[-3: | ||
+ | # Если не указаны оба индекса, | ||
+ | print(numbers[: | ||
+ | print(numbers) | ||
+ | # Указание шага: | ||
+ | print(numbers[:: | ||
+ | print(numbers[1:: | ||
+ | # Если в нарезке списка указать несуществующие индексы, | ||
+ | print(numbers[-888:: | ||
+ | print(numbers[1: | ||
+ | print(numbers[777: | ||
+ | </ | ||
+ | |||
+ | ==== Поиск и методы обработки списков ==== | ||
+ | <code python> | ||
+ | # Поиск выполняется при помощи инструкции in | ||
+ | if num in [122, | ||
+ | print(' | ||
+ | |||
+ | # append(value) - добавить значение в конец списка | ||
+ | numbers = [2, 4, 6, 8, 10] | ||
+ | numbers.append(12) | ||
+ | print(numbers) # [2, 4, 6, 8, 10, 12] | ||
+ | |||
+ | # index(value) - индекс первого совпавшего значения. Если значение не найдено - исключение ValueError. | ||
+ | print(numbers.index(6)) # 2 | ||
+ | |||
+ | # insert(index, | ||
+ | numbers.insert(3, | ||
+ | print(numbers) # [2, 4, 6, 7, 8, 10] | ||
+ | |||
+ | # sort() - сортировка по значениям | ||
+ | numbers = [46, 2, 69, 28, 15] | ||
+ | numbers.sort() | ||
+ | print(numbers) # [2, 15, 28, 46, 69] | ||
+ | |||
+ | # remove(value) - удалить первое совпавшее значение. Если значение не найдено - исключение ValueError. | ||
+ | numbers = [46, 5, 69, 5, 15] | ||
+ | numbers.remove(5) | ||
+ | print(numbers) # [46, 69, 5, 15] | ||
+ | |||
+ | # Удалить конкретный индекс | ||
+ | numbers = [46, 5, 69, 5, 15] | ||
+ | del numbers[2] | ||
+ | print(numbers) # [46, 5, 5, 15] | ||
+ | |||
+ | # reverse() - инвертировать порядок значений | ||
+ | numbers = [46, 2, 69, 28, 15] | ||
+ | numbers.reverse() | ||
+ | print(numbers) # [15, 28, 69, 2, 46] | ||
+ | |||
+ | # min(), max() - минимальное и максимальное значение | ||
+ | numbers = [46, 5, 69, 5, 15] | ||
+ | print(min(numbers)) # 5 | ||
+ | print(max(numbers)) # 69 | ||
+ | </ | ||
+ | |||
+ | ==== Копирование списков ==== | ||
+ | <code python> | ||
+ | numbers = [2, 4, 6, 8, 10] | ||
+ | numbers2 = numbers # теперь обе переменные ссылаются на один и тот же объект в памяти | ||
+ | # Если изменить один объект, | ||
+ | numbers[0] = 222 | ||
+ | print(numbers2) # [222, 4, 6, 8, 10] | ||
+ | |||
+ | # Чтобы сделать копию, но отдельную: | ||
+ | numbers2 = [] | ||
+ | for i in numbers: | ||
+ | numbers2.append(i) | ||
+ | # Другой вариант: | ||
+ | numbers2 = [] + numbers | ||
+ | </ | ||
+ | |||
+ | стр | ||
====== Проблемы и их решение ====== | ====== Проблемы и их решение ====== | ||
learning/py.1748853616.txt.gz · Последнее изменение: — viacheslav