Коллекция на Python: все, что вам нужно знать

Опубликовано: 2021-04-09

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

В этой статье рассказывается о коллекции модулей в Python . Collection улучшает функциональные возможности и является альтернативой универсальным встроенным контейнерам Python dict, list, set и tuple.

«Списки, кортежи, наборы и словари Python — это определяемые пользователем структуры данных, каждая из которых имеет свой собственный набор преимуществ и недостатков».

Оглавление

Модуль Python

Модуль — это файл, содержащий определения и операторы Python, которые реализуют набор функций. Команда import используется для импорта модулей из других модулей. Python имеет несколько встроенных модулей.

Давайте теперь перейдем к сути статьи и подробно изучим коллекцию модулей в Python .

Сбор на Питоне

Коллекция в Python — это контейнер, в котором хранятся коллекции данных. List, set, tuple, dict и т. д. являются встроенными коллекциями в Python . В Python есть шесть модулей коллекций, которые предлагают дополнительные структуры данных для хранения коллекций данных. Эти модули Python улучшают работу коллекции встроенных контейнеров.

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

1. Заказанный Дикт

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

Пример:

импортировать OrderedDict из коллекций

d1=коллекции.OrderedDict()

d1['А']=1

d1['В']=2

d1['C']=3

d1['D']=4

для x,v в d1.items():

печать (х, v)

Выход:

А 1

БИ 2

С 3

Д 4

2. очередь()

Python deque() — это оптимизированный список, который добавляет и удаляет элементы из обеих крайностей.

Пример:

импортировать deque из коллекций

список1 = ["а","б","в"]

очередь = очередь (список1)

печать (дек)

Выход:

deque(['a', 'b', 'c'])

3. Счетчик

Счетчики — это подгруппа объектов словаря, которая подсчитывает хэшируемые объекты. Функция счетчика принимает входные данные в качестве аргумента и возвращает выходные данные в виде словаря. Ключ — это итерируемый элемент, а значение — это общее количество раз, когда элемент присутствует в итерируемом.

Пример:

импортировать счетчик из коллекций

с = Счетчик ()

список1 = [1,2,3,4,5,7,8,5,9,6,10]

Счетчик (список1)

Счетчик({1:5,2:4})

список1 = [1,2,4,7,5,1,6,7,6,9,1]

c = Счетчик (список1)

печать (с[1])

Выход:

3

Дополнительные функции счетчика

1. Элементы() Функция

Функция elements() возвращает список элементов, присутствующих в объекте Counter .

Пример:

c = Счетчик ({1:4,2:3})

печать (список (c.elements ()))

Выход:

[1,1,1,1,2,2,2]

Здесь объект Counter создается с использованием аргумента словаря. Количество отсчетов для 1 равно 4, а для 2 равно 3. Функция elements() вызывается с объектом c , возвращающим итератор.

2. Функция most_common()

Функция Python Counter() возвращает неупорядоченный словарь, в то время как функция most_common() сортирует его по количеству каждого элемента.

Пример:

список = [1,2,3,4,5,5,5,7,3]

c = счетчик (список)

печать (c.most_common())

Выход:

[((5,3), (1,1),(2,1),(3,2),(4,1), (7,1))]

Здесь функция most_common возвращает отсортированный список в соответствии с количеством элементов. 5 встречается три раза; следовательно, он стоит первым как элемент списка.

3. Функция вычитания()

Функция subtract() рассматривает итерируемые или отображающие аргументы и вычитает количество элементов с этим аргументом.

Пример:

с = счетчик ({1:2,2:3})

вывод = {1:1,2:1}

c.subtract(выход)

печать (с)

Выход:

Счетчик({1:1,2:2})

4. Объекты карты цепочки

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

Пример:

Импорт цепочки из коллекций

dict1 = {'ш': 1, 'х': 2}

dict2 = {'y': 3. 'z': 4}

chain_map = Цепная карта (dict1, dict2)

печать (chain_map.maps)

Выход:

[{'x' : 2, 'w' :1}, {'y' : 3, 'x':4}]

5. Именованный кортеж

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

Пример:

Импорт namedtuple из коллекций

Student = namedtuple («Студент», «имя, фамилия, возраст»)

s1 = Ученик («Том», «Альтер», «12»)

печать (s1.имя)

Выход:

Ученик(имя='Том', фамилия='Альтер', возраст='12')

В этом примере вы можете получить доступ к полям любого экземпляра класса.

6. Дикт по умолчанию

Python defaultdict() является объектом словаря и является подклассом класса dict. Он предоставляет все методы словаря, но принимает первый аргумент в качестве типа данных по умолчанию. Выдает ошибку при доступе к несуществующему ключу.

Пример:

импортировать defaultdict из коллекций

число = значение по умолчанию (целое число)

число ['один'] = 1

число ['два'] = 2

печать (число ['три'])

Выход:

0

Заключение

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

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

Если вам интересно узнать о python и науке о данных, ознакомьтесь с программой Executive PG IIIT-B и upGrad по науке о данных, которая создана для работающих профессионалов и предлагает более 10 тематических исследований и проектов, практические практические семинары, наставничество с отраслевыми экспертами. , общение один на один с отраслевыми наставниками, более 400 часов обучения и помощь в трудоустройстве в ведущих фирмах.

Учебные онлайн- курсы по науке о данных от лучших университетов мира. Участвуйте в программах Executive PG, Advanced Certificate Programs или Master Programs, чтобы ускорить свою карьеру.

Зачем нам нужен модуль коллекции в Python?

В Python уже есть 4 встроенных типа данных коллекций. Это список, кортеж, словарь и набор. Однако эти контейнеры данных используются для общих целей.
Следующие пункты подчеркивают основные преимущества использования модуля сбора по сравнению со встроенными контейнерами данных.
Модуль коллекции предоставляет специализированные версии этих контейнеров, таких как namedtuple, OrderedDict, defaultdict, chainmap, counter и многие другие.
Будучи более оптимизированными, эти контейнеры оказались лучшей альтернативой традиционным контейнерам данных, таким как список, кортеж и набор.
Модуль сбора эффективен для работы со структурированными данными.
Контейнеры данных, такие как namedtuple, потребляют меньше памяти и предоставляют расширенные возможности для хранения данных и управления ими.

В чем разница между словарем и упорядоченным словарем в Python?

Словарь Python или «Dict» — это встроенная структура данных Python, которая используется для хранения неупорядоченного набора элементов. В отличие от других структур данных Python, в которых хранятся отдельные значения, структура данных словаря хранит пары ключ-значение, где каждый ключ уникален. Он не запоминает порядок вставки пар ключ-значение и перебирает ключи.
С другой стороны, Ordered Dictionary или OrderedDict отслеживает порядок вставки пар ключ-значение. Он также потребляет больше памяти, чем обычный словарь в Python, из-за реализации двусвязного списка. Если вы удалите и повторно вставите один и тот же ключ, он будет вставлен в исходное положение, поскольку OrderedDict запоминает порядок вставки.

Каковы различные операции namedtuple?

namedtuple в Python выполняет различные операции. Ниже приведен список некоторых наиболее распространенных операций, выполняемых namedtuple.
1. Операции доступа: доступ по индексу: к элементам в namedtuple можно получить доступ по их индексам, в отличие от словаря. Доступ по имени ключа. Альтернативный способ доступа к элементам — по имени ключа.
2. Операции преобразования: make(): эта функция возвращает именованный кортеж. _asadict(): эта функция возвращает упорядоченный словарь, созданный из сопоставленных значений. используя оператор «**» (двойная звезда): эта функция преобразует словарь Python в именованный кортеж.
3. Дополнительные операции: _files(): Эта функция возвращает все имена ключей данного namedtuple. _replace(): эта функция принимает имя ключа в качестве аргумента и изменяет сопоставленные с ним значения.