Skip to content

Latest commit

 

History

History
220 lines (179 loc) · 12.8 KB

File metadata and controls

220 lines (179 loc) · 12.8 KB

Урок 10. Списки. Операторы и функции работы со списками

10.1 Список.

Списки - это упорядоченные коллекции элементов, которые могут содержать объекты разных типов.

Списки являются изменяемыми типами данных, что означает, что их элементы могут быть изменены после создания списка.

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

10.2 Примеры использования списков в Python:

  • Хранение списка студентов в классе:
    students = ['Анна', 'Иван', 'Мария']
  • Хранение координат точек на плоскости:
    points = [(0, 0), (1, 2), (3, 4)]
  • Хранение результатов эксперимента:
    results = [10.2, 8.7, 9.5, 11.1]

10.3 Как задавать список

В Python есть несколько способов задать список:

  • Задание списка с помощью квадратных скобок и перечисления элементов через запятую:
    my_list = [1, 2, 3, 4, 5]
  • Задание пустого списка:
    empty_list = []
  • Задание списка с помощью функции list():
    my_list = list('hello')
  • Задание списка с использованием генератора списка:
    my_list = [x for x in range(10)]
  • Задание списка с помощью метода append():
    my_list = []
    my_list.append(1)
    my_list.append(2)
    my_list.append(3)

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

Списки являются упорядоченными коллекциями, и каждый элемент списка имеет свой индекс, который начинается с нуля.

Первый элемент списка имеет индекс 0, второй — индекс 1 и так далее.

Обращение к элементу списка осуществляется с помощью квадратных скобок [], в которых указывается индекс элемента.

Примеры обращения к элементам списка:

# Обращение к первому элементу списка:
fruits = ['яблоко', 'банан', 'вишня']
print(fruits[0])  # Вывод: яблоко

# Обращение к последнему элементу списка
print(fruits[-1])  # Вывод: вишня

# Обращение к элементу по конкретному (2) индексу
numbers = [10, 20, 30, 40, 50]
print(numbers[2])  # Вывод: 30 (третий элемент)

# Изменение элемента списка по индексу:
numbers[1] = 25  # Изменяем второй элемент
print(numbers)  # Вывод: [10, 25, 30, 40, 50]

# Ошибка: индекс, выходящий за границы списка:
print(fruits[3])  # Ошибка: IndexError: list index out of range

10.5 Список - изменяемый тип даных

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

Примеры:

  • Пример изменения первого элемента списка:
    my_list = [1, 2, 3, 4, 5]
    my_list[0] = 10
    print(my_list)
  • Пример удаления элемента из списка:
    my_list = [1, 2, 3, 4, 5]
    del my_list[2]
    print(my_list)
  • Пример добавления элемента в список:
    my_list = [1, 2, 3, 4, 5]
    my_list.append(6)
    print(my_list)

10.6 Встроенные функции для работы со списками:

  • len(iterable)определение числа элементов в списке iterable (длина списка).
    my_list = [1, 2, 3, 4, 5]
    length = len(my_list)
    print(length)  # Вывод: 5
  • max(iterable)для нахождения максимального значения. Эта функция не изменяет исходный объект, а возвращает новый отсортированный список.
    my_list = [1, 2, 3, 4, 5]
    maximum = max(my_list)
    print(maximum)  # Вывод: 5
  • min(iterable)для нахождения минимального значения. Эта функция не изменяет исходный объект, а возвращает новый отсортированный список.
    my_list = [1, 2, 3, 4, 5]
    minimum = min(my_list)
    print(minimum)  # Вывод: 1
  • sum(iterable)для вычисления суммы. Эта функция не изменяет исходный объект, а возвращает новый отсортированный список.
    my_list = [1, 2, 3, 4, 5]
    total = sum(my_list)
    print(total)  # Вывод: 15
  • sorted(iterable)для сортировки коллекции. Функция может принимать дополнительный аргумент: reverse. Синтаксис: sorted(iterable, reverse=True). Эта функция не изменяет исходный объект, а возвращает новый отсортированный список.
    my_list = [5, 2, 4, 1, 3]
    sorted_list = sorted(my_list)
    print(sorted_list)  # Вывод: [1, 2, 3, 4, 5]

10.7 Операторы для работы со списками:

  • +соединение двух списков в один
    list1 = [1, 2, 3]
    list2 = [4, 5, 6]
    combined_list = list1 + list2
    print(combined_list)  # Вывод: [1, 2, 3, 4, 5, 6]
  • *дублирование списка:
    my_list = [1, 2, 3]
    duplicated_list = my_list * 2
    print(duplicated_list)  # Вывод: [1, 2, 3, 1, 2, 3]
  • inпроверка вхождения элемента в список:
    my_list = [1, 2, 3, 4, 5]
    if 3 in my_list:
        print("Элемент 3 присутствует в списке")
  • delудаление элемента списка:
    my_list = [1, 2, 3, 4, 5]
    del my_list[2]
    print(my_list)  # Вывод: [1, 2, 4, 5]

Вопросы:

  1. К каким типам данных относится список?
  2. Как создать список в Python?
  3. Как можно получить доступ к элементам списка?
  4. По какому индексу можно обратиться к значению 5 списка: a = [0, True, "Москва", 5, False, "Омск"].
  5. Что означает, что список является изменяемым типом данных?
  6. Как отсортировать список?
  7. Как узнать количество элементов в списке?
  8. Как объединить два списка в один?
  9. Как проверить, содержится ли элемент в списке?

Задачи:

  1. На вход программе подаются три целых числа. Необходимо прочитать эти числа и сформировать список lst, хранящий прочитанные значения в порядке их чтения. Результат выведите на экран, используя команду: print(lst).

  2. На вход программе подается строка с названиями городов, записанных в одну строчку через пробел. Необходимо прочитать эту строку и на ее основе сформировать список. Затем, необходимо проверить, присутствует ли в этом списке город "Нальчик". Вывести на экран True, если присутствует и False - в противном случае. Пример входящей строки: Москва Казань Ростов Нальчик.

  3. На вход программе подается строка с названиями городов, записанных в одну строчку через пробел. Сформируйте список из этой строки. Выведите значение последнего элемента списка на экран. Пример входящей строки: Москва Казань Ростов Нальчик.

  4. На вход программе подается строка с оценками студента, записанными через пробел. Необходимо вычислить средний балл списка и вывести его на экран с точностью до десятых. Пример входящей строки: 10 12 9 10 11.

  5. На вход программе подаются следующие данные по книге (каждое значение с новой строки):

    • название (строка);
    • автор (строка);
    • число страниц (целое число);
    • цена (вещественное число).
      Необходимо прочитать эти данные и сохранить в списке в порядке их чтения.
      Затем, из этого списка удалить 3-й элемент (число страниц).
      В качестве автора записать "Пушкин".
      Цену увеличить в 2 раза.
      Результат вывести на экран.
      Пример входных данных:
      Война и мир
      Лев Толстой
      1225
      749.9
      
  6. На вход программе подается строка с числами новых подписчиков канала по дням, записанных в одну строку через пробел. Необходимо прочитать эти числа и сохранить в списке, как целые числа в порядке их следования в строке. Затем, вывести через пробел на экран максимальное, минимальное и суммарное значения этого списка. Пример входящей строки: 100 102 90 105 115.

  7. На вход программе подается строка с числами новых подписчиков канала по дням, записанных в одну строку через пробел. Необходимо прочитать эти числа и сохранить в списке, как целые числа в порядке их следования в строке. Затем, отсортировать элементы этого списка по убыванию и результат вывести на экран. Пример входящей строки: 100 102 90 105 115.

  8. На вход программе подается строка, содержащая названия городов, записанных через пробел. Необходимо прочитать эту строку и на ее основе создать список lst из названий городов, добавив в его начало список cities: cities = ["Москва", "Тверь", "Вологда"]. Выведите полученный список lst на экран. Пример входящей строки: Казань Ростов Нальчик.


Предыдущий урок | Следующий урок