В каждом языке программирования предусмотрены структуры данных. В языке программирования 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:
- append () - добавляет элемент в конец списка
- clear () - удаляет все элементы из списка
- copy () - возвращает копию списка
- count () - возвращает общее количество элементов, переданных в качестве аргумента
- extend () - добавляет все элементы списка в другой список
- index () - возвращает индекс элемента (Примечание: если один и тот же элемент появляется в списке несколько раз, возвращается индекс самого первого совпадения)
- insert () - вставляет элемент в список по заданному индексу
- pop () - Удаляет и возвращает элемент из списка
- remove () - удаляет элемент из списка
- reverse () - меняет порядок всех элементов списка на обратный
- sort () - сортирует все элементы списка в порядке возрастания
Кортеж
Подобно списку, кортеж - это встроенная структура данных в Python. Однако он не поддерживает такой же уровень обширной функциональности. Самое важное различие между списком и кортежем - это изменчивость. В отличие от списков, кортежи неизменяемы, т. е. не могут быть изменены.
Обычно кортеж в языке программирования Python определяется с помощью круглых скобок, где каждый элемент разделяется запятыми. Хотя добавление круглых скобок к кортежу не является обязательным, его рекомендуется использовать для четкого определения конца и начала кортежа. Общий синтаксис кортежа:
some_tuple = (item 1, item 2, item 3,….., item n)
Кортежи используются в сценариях, где точно известно, что (набор) значений, принадлежащих некоторому оператору или определяемой пользователем функции, не изменится.
Чтобы определить пустой кортеж, используется пустая пара круглых скобок. Например,
empty_tuple = ()
Определить кортеж с одним элементом немного сложно. Вам нужно указать то же самое, используя запятую после единственного элемента. Это сделано для того, чтобы позволить Python различать кортеж и пару круглых скобок, окружающих объект в некотором выражении.
Итак, кортеж, скажем singleton_tuple, с одним элементом, скажем, элементом 1, определяется как:
singleton_tuple = (item 1, )
Как и строковые индексы, индексы кортежей начинаются с 0. Как и строки, кортежи можно объединять и нарезать. Для кортежей доступны следующие методы:
- cmp () - сравнивает элементы двух кортежей
- len () - выдает общую длину некоторого кортежа
- max () - возвращает наибольшее значение из кортежа
- min () - возвращает наименьшее значение из кортежа
- 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 есть замороженный набор - это набор, который поддерживает только те методы и операторы, которые производят результат, не затрагивая замороженный набор или наборы, к которым они применяются. Наборы поддерживают следующие методы:
- add () - добавляет элемент в набор (Примечание: поскольку наборы не имеют повторяющихся значений, элемент, который должен быть добавлен в набор, не должен уже быть членом набора).
- clear () - Удаляет все элементы набора
- разница () - возвращает набор со всеми элементами вызывающего набора, но не второго набора
- crossct () - возвращает пересечение двух множеств
- union () - возвращает объединение двух наборов
0 комментариев
Добавить комментарий