Списки в языке Python
Список
Примеры списков
Создание списка
Задача 1
Методы работы со списками
Задача 2
Оператор in
Задача 3
Обращение к элементу списка
Задача 4
Срезы
Срезы
Задача 5
Добавление элементов
Задача 6
Удаление элементов
Задача 7
Метод split()
Метод join()
Еще методы списка
Задача 8
Списочные выражения
Синтаксис
Пример 1
Пример 2
Задача 9
Чтение из файла в список
Ссылка на файлы
Задача 1
Задача 2
Задача 3
Задача 4
Задача 5
Задача 6
Ответы
79.23K

Занятие 1.6

1. Списки в языке Python

2. Список

• Список — это упорядоченная изменяемая
коллекция элементов, которая может
включать различные типы данных.
• Списки в Python задаются с
использованием квадратных скобок [].

3. Примеры списков

• Пустой список: empty_list = []
• Список с числами: numbers = [1, 2, 3, 4, 5]
• Список строк: names = ["Alice", "Bob",
"Charlie"]
• Смешанный список: mixed = [1, "Hello", 3.14,
True]

4. Создание списка

• Пустой список
• empty_list = []
• empty_list = list()
• Списка последовательных чисел
• numbers = list(range(5))
• Списка букв слова
• s = ‘asdfasdf'
• chars = list(s)

5. Задача 1

• Введите в консоль число n и создайте
список чисел от 0 до n.

6. Методы работы со списками

• len(nums) – возвращает количество
элементов списка nums.
• sum(nums) – возвращает сумму элементов
списка чисел nums.
• min(nums) – возвращает минимальный
элемент списка чисел nums.
• max(nums) – возвращает максимальный
элемент списка чисел nums.

7. Задача 2

• numbers = [11, 24, -3, 45, 51, 12]
• Выведете максимальное, минимальное,
сумму и длину списка numbers в консоль.

8. Оператор in

• Проверка наличия элемента:
• print(3 in numbers)

9. Задача 3

• numbers = [11, 24, -3, 45, 51, 12]
• Введите число в консоль. Если оно есть в
списке, выведете «Есть в списке», иначе
«Нет в списке».

10. Обращение к элементу списка

• Доступ по индексу:
• element = numbers[0]
• Изменение элемента:
• numbers[0] = 10 - первый
• numbers[-1] = 10 - последний
• При этом нумерация элементов начинается
с 0.

11. Задача 4

• numbers = [11, 24, -3, 45, 51, -12]
• Замените все отрицательные числа в списке
на положительные и выведете список в
консоль.

12. Срезы

• С помощью среза мы можем получить
несколько элементов списка, создав
диапазон индексов, разделенных
двоеточием
• При построении
среза numbers[x:y] первое число – это то
место, где начинается срез (включительно),
а второе – это место, где заканчивается срез
(невключительно).

13. Срезы

• Указания диапазона могут быть пустые
• numbers[3:] – с третьего элемента до конца
• numbers[:3] – с начала до 2 элемента
• Шаг среза
• numbers[::2] – элементы списка с шагом 2
• numbers[::-1] – элементы списка в обратном
порядке

14. Задача 5

• numbers = [11, 24, -3, 45, 51, -12]
• Выведете в консоль первые три элемента,
затем последние три элемента, затем
элементы списка в обратном порядке.

15. Добавление элементов

• numbers.append(12) — добавляет элемент в
конец списка.
• numbers.insert(4, 12) — вставляет элемент
12 на указанный индекс 4.
• numbers1.extend(numbers2) – добавляет
элементы из списка numbers2 в конец
списка numbers1.
• Аналог - numbers1 = numbers1 + numbers2

16. Задача 6

• Напишите программу, которая
создаёт список, состоящий из делителей
введённого числа в порядке возрастания, а
затем выводит этот список.

17. Удаление элементов

• numbers.remove(element) — удаляет первое
вхождение элемента.
• del numbers[5] - удаляет элемент под
индексом 5, тут также можно использовать
срезы.

18. Задача 7

• numbers = [11, 24, -3, 45, 51, -12]
• Удалите каждый 2 элемент и выведете
список в консоль.

19. Метод split()

• Метод split() разбивает строку на слова,
используя в качестве разделителя
последовательность пробельных символов,
и возвращает список из этих слов.
• s = “Some few words”
• words = s.split()

20. Метод join()

• Метод join() собирает строку из
элементов списка, используя в качестве
разделителя строку, к которой применяется
метод.
• words = [‘Some', ‘few', ‘words’]
• s = ' '.join(words)

21. Еще методы списка

• sort() — сортирует список по возрастанию.
• reverse() — инвертирует порядок
элементов в списке.

22. Задача 8

• numbers = [11, 24, -3, 45, 51, -12]
• Выведете в консоль список,
отсортированный в обратном порядке.

23. Списочные выражения

• Списочные выражения — это удобный
синтаксический способ создания новых
списков на основе существующих списков
или других итерабельных объектов.

24. Синтаксис

• new_list = [expression for item in iterable if
condition]
• expression: выражение, результат которого будет
добавляться в новый список.
• item: переменная, которая принимает значение
каждого элемента из iterable.
• iterable: объект, по которому можно итерироваться
(например, список, строка, range и т. д.).
• condition: опциональный фильтр, который
ограничивает элементы, добавляемые в новый
список.

25. Пример 1

• numbers = [1, 2, 3, 4, 5]
• squares = [x**2 for x in numbers]
• print(squares)

26. Пример 2

• numbers = [1, 2, 3, 4, 5]
• evens = [x for x in numbers if x % 2 == 0]
• print(evens)

27. Задача 9

• numbers = [1, 2, 3, 4, 5]
• С помощью списочного выражения
создайте список квадратов чётных чисел
списка numbers.

28. Чтение из файла в список

• a = [int(x) for x in open(’17.txt’)]

29. Ссылка на файлы

clck.ru/3PpKYq

30. Задача 1

• В файле содержится последовательность целых
чисел. Её элементы могут принимать целые
значения от −100 000 до 100 000 включительно.
• Определите количество троек последовательности,
в которых все числа одного знака, при этом
произведение минимального и максимального
элементов тройки больше квадрата минимального
элемента последовательности, который
оканчивается на 15 и является трёхзначным числом.
• В ответе запишите количество найденных троек
чисел, затем минимальное из произведений
максимального и минимального элементов таких
троек. В данной задаче под тройкой
подразумевается три идущих подряд элемента
последовательности.

31. Задача 2

• В файле содержится последовательность целых
чисел. Её элементы могут принимать целые
значения от –100 000 до 100 000 включительно.
Определите количество троек элементов
последовательности, в которых хотя бы два числа
являются двузначными, а квадрат суммы чисел
тройки не больше максимального элемента
последовательности, оканчивающегося на 33. В
ответе запишите количество найденных троек,
затем максимальную из сумм элементов таких
троек. В данной задаче под тройкой
подразумевается три идущих подряд элемента
последовательности.

32. Задача 3

• В файле содержится последовательность
натуральных чисел. Её элементы могут принимать
целые значения от 1 до 100 000 включительно.
Определите количество пар последовательности, в
которых хотя бы одно число делится на
минимальный элемент последовательности,
кратный 19. Гарантируется, что такой элемент в
последовательности есть. В ответе запишите
количество найденных пар, затем максимальную из
сумм элементов таких пар. В данной задаче под
парой подразумевается два идущих подряд
элемента последовательности.

33. Задача 4

• В файле содержится последовательность
натуральных чисел. Элементы последовательности
могут принимать целые значения от 1 до 100 000
включительно. Определите количество пар
элементов последовательности, в которых сумма
остатков от деления обоих элементов на 18 равна
минимальному элементу последовательности. В
ответе запишите количество найденных пар, затем
максимальную из сумм элементов таких пар. В
данной задаче под парой подразумевается два
идущих подряд элемента последовательности.

34. Задача 5

• В файле содержится последовательность целых
чисел.
• Элементы последовательности могут принимать
целые значения от 1 до 100 000 включительно.
Определите количество пар последовательности, в
которых только один из элементов является
двузначным числом, а сумма элементов пары
кратна максимальному двузначному элементу
последовательности. В ответе запишите количество
найденных пар, затем максимальную из сумм
элементов таких пар. В данной задаче под парой
подразумевается два идущих подряд элемента
последовательности.

35. Задача 6

• В файле находится ряд целых чисел.
• В файле содержится последовательность целых
чисел. Элементы ряда могут принимать целые
значения в диапазоне [−10000; 10000]. Определите
количество троек элементов в которых только одно
число трехзначное, и сумма элементов тройки
больше максимального числа последовательности
оканчивающегося на 24. В ответе запишите два
числа: сначала количество найденных троек, а
затем минимальную из сумм таких троек. В данной
задаче под тройкой подразумевается три идущих
подряд элемента последовательности.

36. Ответы

• 1) 3507 863808
• 2) 28 237
• 3) 142 175430
• 4) 238 191665
• 5) 16 9702
• 6) 217 9542
English     Русский Rules