Подробное объяснение встроенных структур данных Python

  • 14 июня, 13:36
  • 3818
  • 0

В каждом языке программирования предусмотрены структуры данных. В языке программирования Python всего 4 встроенных структуры данных. Это список (list ), кортеж (tuple), словарь (dictionary ) и набор или множество(set). Каждый из них по-своему уникален.

Структуры данных - неотъемлемая часть программирования. Все хорошие книги по программированию на Python в той или иной степени подробно описывают структуры данных.

Список

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

some_list = [item 1, item 2, item 3,….., item n]

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

some_nested_list = [item 1, some_list, item 3,….., item n]

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

Список на языке программирования Python - это пример использования объектов и классов. Например, присвоение значения, скажем 22, целочисленной переменной, пусть это будет i, создает объект класса integer. Таким образом, список также является типом класса в Python.

У любого класса могут быть методы, которые можно использовать только тогда, когда у нас есть объект этого конкретного класса. Например, метод append () позволяет добавить элемент в конец списка. Общий синтаксис метода:

some_list.append(‘some item’)

Здесь some_list - это имя списка, а some item - это элемент, который нужно добавить в список. Класс может иметь поля, которые представляют собой переменные, определенные для использования только с экземпляром этого класса. Ниже приведены различные методы, поддерживаемые списками в Python:

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

Кортеж

Подобно списку, кортеж - это встроенная структура данных в Python. Однако он не поддерживает такой же уровень обширной функциональности. Самое важное различие между списком и кортежем - это изменчивость. В отличие от списков, кортежи неизменяемы, т. е. не могут быть изменены.

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

some_tuple = (item 1, item 2, item 3,….., item n)

Кортежи используются в сценариях, где точно известно, что (набор) значений, принадлежащих некоторому оператору или определяемой пользователем функции, не изменится.

Чтобы определить пустой кортеж, используется пустая пара круглых скобок. Например,

empty_tuple = ()

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

Итак, кортеж, скажем singleton_tuple, с одним элементом, скажем, элементом 1, определяется как:

singleton_tuple = (item 1, )

Как и строковые индексы, индексы кортежей начинаются с 0. Как и строки, кортежи можно объединять и нарезать. Для кортежей доступны следующие методы:

  1. cmp () - сравнивает элементы двух кортежей
  2. len () - выдает общую длину некоторого кортежа
  3. max () - возвращает наибольшее значение из кортежа
  4. min () - возвращает наименьшее значение из кортежа
  5. tuple () - преобразует список в кортеж

Последовательности

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

Python обеспечивает поддержку трех типов последовательностей: списки, строки и кортежи. Каждый из них поддерживает операцию slicing . Это позволяет получить определенную часть последовательности.

Словарь

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

Словарь в Python определяется с помощью пар ключ-значение, разделенных запятыми и заключенных в фигурные скобки. Ключ и значение разделяются двоеточием. Общий синтаксис словаря:

some_dictionary =

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

Чтобы получить доступ к любой паре "ключ-значение", необходимо указать ключ с помощью оператора индексации. Оператор del используется для удаления одной или нескольких пар ключ-значение из словаря. Оператор in предназначен для проверки того, существует ли пара ключ-значение в словаре или нет.

Оператор индексации также используется для добавления новой пары "ключ-значение". Использование аргументов ключевого слова в функциях очень похоже на использование словарей.

Набор

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

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

some_set = {“item 1”, “item 2”, “item 3”,….., “item n”}

Обычно набор используется, когда существование объекта в коллекции намного важнее, чем его порядок или частота (количество раз, когда он появляется).

Использование наборов позволяет проверять членство, например проверять, является ли набор подмножеством какого-либо другого набора, и находить пересечение между двумя наборами. Множества в Python следуют математической концепции теории множеств .

В Python есть замороженный набор - это набор, который поддерживает только те методы и операторы, которые производят результат, не затрагивая замороженный набор или наборы, к которым они применяются. Наборы поддерживают следующие методы:

  1. add () - добавляет элемент в набор (Примечание: поскольку наборы не имеют повторяющихся значений, элемент, который должен быть добавлен в набор, не должен уже быть членом набора).
  2. clear () - Удаляет все элементы набора
  3. разница () - возвращает набор со всеми элементами вызывающего набора, но не второго набора
  4. crossct () - возвращает пересечение двух множеств
  5. union () - возвращает объединение двух наборов



Banner
0 комментариев
Сортировка:
Добавить комментарий