Посмотреть все уроки курса
Выбрать другой урок из курса
Поиск по сайту
Теория урока

18. Списки в Python

В предыдущем уроке мы познакомились с основными структурами языка Python. В этом уроке мы остановимся на одной – списках. Их стоит применять, если у вас есть набор чем-то связанных элементов.

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

Пример
list1 = [2, 4, 8, 16]
list2 = ["Иван", "Иванов", 20]
list3 = [list1, list2]

Выше приведен литеральный способ создания списка. То есть мы создали и заполнили его за один раз. Второй вариант рассмотрим чуть позже, где элементы добавляются по мере необходимости. Кстати, обратите внимание на список list3, он состоит из двух других списков. Список list3 можно записать так:

Пример
list3 = [[2, 4, 8, 16], ["Иван", "Петр"]]              

Давайте рассмотрим пример, где нам необходимо вывести гласные, которые встречаются в заданном слове:

Пример
letters = ["а", "е", "и", "о", "у", "э", "ю", "я"]
word = "список – это массив"

for item in word:
if item in letters:
print(item)

Сначала мы зададим массив (список) гласных букв. Для перебора всех букв нам поможет цикл for, о котором говорилось в этом уроке. Так же нам поможет оператор in, который позволяет проверить, есть ли элемент item (а это одна буква заданного слова) в списке letters и если есть, то вывести результат.

Метод append

Теперь попробуем динамически добавлять элементы в список. Например, если необходимо вывести букву только один раз. Для начала создадим пустой список:

Пример
found = []              

Кстати, чтобы узнать размер списка, нам поможет функция len().

Пример
print(len(found))              

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

Пример
found.append("a")              

Теперь применим полученные знания для решения задачи:

Пример
letters = ["а", "е", "и", "о", "у", "э", "ю", "я"]
word = "список – это массив"
found = []

for item in word:
if item in letters:
if item not in found:
found.append(item)

for item in found:
print(item)

Здесь вы можете заметить новый оператор not in, который вернет истину, если элемента item нет в списке found.

Метод remove

Часто возникает необходимость удалить элемент по значению. Например:

Пример
list1 = [4, 3, 2, 1]
list1.remove(3)

Обратите внимание на то, что удалится цифра три, так как поиск производится по значению, а не по индексу. Но что если необходимо удалить элемент по индексу?

Метод pop

Метод pop удаляет элемент по индексу и возвращает его. Если не указывать параметры, то будет удален последний элемент:

Пример
list1 = [4, 3, 2, 1]
d = list1.pop()
print(d)

В данном случае будет удалена и выведена в консоль цифра 1.

Метод extend

Добавлять элементы можно не только с помощью метода append. Чтобы добавить в конец списка еще один список, используйте метод extend.

Пример
list1 = [4, 3, 2, 1]
list1.extend([5, 6])

for i in list1:
print(i)

Но что если добавить необходимо в середину списка?

Метод insert

Метод insert похож на append, но только первым параметром указывается индекс элемента, перед которым будет вставка:

Пример
list1 = [2, 3, 4]
list1.insert(0, 1) # => [1, 2, 3, 4]

Обращение к элементу

После создания списка, мы вероятно его будем использовать. Чтобы обратиться к конкретному элементу, необходимо использовать квадратные скобки. Например, чтобы вывести в консоль первый элемент:

Пример
list1 = [1, 2, 3, 4]
print(list1[0])

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

Похожие уроки и записи блога

Типы данных в PythonЗнакомство с Python
Первое знакомство с PythonЗнакомство с Python
Структуры данных в PythonЗнакомство с Python
Функциональное программирование: map, filter и reduceЗнакомство с Python
Обработка исключений (try/except) в PythonЗнакомство с Python
Написание модулей в PythonЗнакомство с Python
Основы функций в PythonЗнакомство с Python
Модули в PythonЗнакомство с Python
Словари в PythonЗнакомство с Python
<
×
>
Раздел «Знакомство с Python»
1. УРОК: Первое знакомство с Python
2. ТЕСТ: Небольшой первый тест по Python
3. УРОК: Переменные и комментарии в Python
4. ТЕСТ: Тест по основным понятиям и работе с сайтом
Самые основы
5. УРОК: Погружение в Python
6. ТЕСТ: Второй вводный тест по Python
7. УРОК: Типы данных в Python
8. УРОК: Форматирование строк в Python
9. УРОК: Условная инструкция if-elif-else в Python
10. УРОК: Преобразование и проверка типов в Python
11. УРОК: Вызов методов цепочкой в Python
Циклы
12. УРОК: Первое знакомство с циклами в Python
13. ТЕСТ: Тест по циклам Python
Немного рандома
14. УРОК: Генерируем случайные числа на Python
15. ТЕСТ: Тест по модулю random Python
Структуры данных
16. УРОК: Структуры данных в Python
17. ТЕСТ: Тест по структурам Python
Списки
УРОК 18. Списки в Python
Вы здесь
19. ТЕСТ: Тест по спискам Python
20. УРОК: Изменение списка на месте в Python
21. УРОК: Дополнительно про списки в Python
22. УРОК: Конкатенация и сортировка списков в Python
23. ТЕСТ: Заключительный тест по спискам в Python
Словари
24. УРОК: Словари в Python
25. ТЕСТ: Тест по словарям Python
26. УРОК: Словари и списки: еще глубже
27. УРОК: Перебор элементов словаря в Python
28. УРОК: Внутреннее устройство и сортировка словаря в Python
29. УРОК: Методы словарей и функция len() в Python
30. ТЕСТ: Заключительный тест по словарям
Множества
31. УРОК: Множества в Python
32. УРОК: Методы и особенности множеств в Python
33. УРОК: Отношения между множествами и операции над ними
34. ТЕСТ: Тест по методам множеств в Python
35. ТЕСТ: Тест по операциям над множествами в Python
Кортежи
36. УРОК: Кортежи в Python
37. УРОК: Более подробно о кортежах в Python
38. ТЕСТ: Тест по кортежам в Python
Снова циклы и немного исключений
39. УРОК: Контроль хода выполнения программы в Python
40. УРОК: Цикл while в Python
41. УРОК: Операторы break, continue и pass в Python
42. УРОК: Циклы for/else и while/else в Python
43. УРОК: Обработка исключений (try/except) в Python
44. ТЕСТ: Тест по циклам и управляющим конструкциям
45. ТЕСТ: Тест по обработке исключений
Работаем с файлами
46. УРОК: Работа с файлами в Python
47. УРОК: Оператор with/as для работы с файлами в Python
48. ТЕСТ: Тест по работе с файлами в Python
Итераторы
49. УРОК: Итераторы в Python
50. УРОК: List/dict/set comprehensions (включения) в Python
51. ТЕСТ: Тест по включениям в Python
Функции
52. УРОК: Основы функций в Python
53. ТЕСТ: Тест по основам функций в Python
54. УРОК: Область видимости в Python
55. ТЕСТ: Тест по области видимости в Python
56. УРОК: Замыкания и оператор nonlocal в Python
57. ТЕСТ: Тест по замыканиям и nonlocal в Python
58. УРОК: Аргументы и параметры функций, операторы * и ** в Python
59. ТЕСТ: Тест по аргументам и параметрам функций в Python
60. ТЕСТ: Тест по операторам * и ** в Python
61. УРОК: Анонимные функции: выражения lambda
62. УРОК: Функциональное программирование: map, filter и reduce
63. ТЕСТ: Тест по парадигме функционального программирования
64. УРОК: Генераторы и оператор yield в Python
65. ТЕСТ: Тест по генераторным функциям и выражениям
Модули
66. УРОК: Модули в Python
67. УРОК: Написание модулей в Python
68. УРОК: Пакеты модулей в Python
69. УРОК: Еще о возможностях модулей в Python
70. ТЕСТ: Тест по модулям и пакетам в Python
Объектно-ориентированное программирование
71. УРОК: Основы объектно-ориентированного программирования (ООП) в Python
72. ТЕСТ: Тест по основам ООП в Python
73. УРОК: Основы написания классов в Python
74. УРОК: Продолжаем написание классов в Python
75. УРОК: Более глубокое изучение классов в Python
76. УРОК: Что дальше?
Впервые на сайте Codebra?

Извините за это всплывающее окно, меня они тоже раздражают.

Образовательный ресурс codebra.ru полностью посвящен программированию. Все курсы и уроки находятся на главной странице. Ради интереса можете посмотреть на содержимое курсов по Python, HTML и CSS, JavaScript, C++ и другие, размещенные на главной странице.

Если что-то не нашли, то воспользуйтесь поиском по сайту, который находится на главной странице в самом верху.

Удачи в обучении!

Закрыть окно