May 20, 2022

Работа со списками. Python

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

Кратко и тезисно о том, как работать со списками. С примерами.

Когда рационально использовать списки Python?

Используйте списки Python, если от структуры данных нужно следующее:

  • Хранить объекты данных нескольких типов.
  • Сохранять очередность элементов и порядок вставки.
  • Хранить повторяющиеся значения.
  • Изменять элементы.

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

Есть два способа:

  1. С помощью функции list()
  2. С помощью квадратных скобок [ ]

todo_list = [] >>>

general_info = list() >>>

type(todo_list), type(general_info)

(<class 'list'>, <class 'list'>)

Теперь, попробуем заполнить списки данными.

Добавление данных в список

Метод append()

append() добавляет в конец списка элемент, переданный в качестве аргумента:

todo_list.append('Завтрак, зарядка, душ')

todo_list.append('Чтение статей на proglib')

todo_list.append('Дорога до работы')

todo_list

['Завтрак, зарядка, душ', 'Чтение статей на proglib', 'Дорога до работы']

Метод insert()

insert() принимает два аргумента – индекс позиции и вставляемый элемент:

general_info.insert(0, 'Важные математические константы')

general_info.insert(1, 1j)

general_info.insert(2, 3.1415926)

general_info.insert(3, False)

general_info.insert(4, 1)

general_info

['Важные математические константы', 1j, 3.1415926, False, 1]

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

Есть три способа:

  1. Оператор индекса
  2. Оператор среза
  3. Итерирование

Оператор индекса

Индекс используется для доступа к отдельному элементу.

>>> todo_list[2]

'Дорога до работы'

>>> general_info[1]

1j

Оператор среза

Срез применяется для обращения к нескольким элементам списка. Синтаксис: list_name[start:stop:step], где

  • start – индекс, с которого начинается срез (по умолчанию начало списка)
  • stop – индекс, до которого осуществляется срез (по умолчанию конец списка)
  • step – шаг приращения, по умолчанию равно 1

>>> general_info[:2] # срез с начала до 2 индекса, не включая

['Важные математические константы', 1j]

>>> general_info[2:4] # срез с индекса 2 по 3

[3.1415926, False]

>>> general_info[::2] # чётные индексы

['Важные математические константы', 3.1415926, 1]

Обратите внимание: если указан индекс stop, то срез осуществляется вплоть до него, но исключая сам элемент.

Итерирование

Списки Python – итерируемые объекты. Для перебора элементов списка не нужен счетчик:

>>> for item in todo_list:

print(item)

Завтрак, зарядка, душ Чтение статей на proglib Дорога до работы

Удаление элемента из списка

Всего два метода:

  1. remove()
  2. pop()

Удаления элемента методом remove()

remove() находит и удаляет элемент из списка:

>>> general_info.remove(False)

>>> general_info

['Важные математические константы', 1j, 3.1415926, 1]

Удаление элемента методом pop()

pop() удаляет и возвращает элемент, по умолчанию последний:

>>> general_info.pop()

1

>>> general_info.pop()

3.1415926

>>> general_info

['Важные математические константы', 1j]

Подводя итоги:

  1. a.append(e) – добавляет переданную переменную e в конец списка a
  2. a.clear() – удаляет все элементы из списка a
  3. a.copy() – возвращает копию списка a
  4. a.count(e) – возвращает число столько раз, сколько элемент e встречается в списке a
  5. a.extend(b) – добавляет все элементы списка b в конец списка a
  6. a.index(e) – находит и возвращает индекс первого элемента списка a, равного e
  7. a.insert(i, e) – вставляет элемент e на позицию с индексом i
  8. a.pop(i) – возвращает и удаляет элемент с индексом i (по умолчанию последний)
  9. a.remove(e) – удаляет элемент e из списка a
  10. a.reverse() – разворачивает в обратном порядке элементы списка a
  11. a.sort() – сортирует элементы списка a в восходящем порядке

Успешного самообразования, коллеги)

Ваш IT-старт t.me/it_begin