Коллекция на Python: все, что вам нужно знать
Опубликовано: 2021-04-09Python — мощный язык программирования. Он модульный и известен своей простотой, возможностью повторного использования и ремонтопригодностью. В модульном программировании большая и сложная задача программирования разбивается на более мелкие модули.
В этой статье рассказывается о коллекции модулей в 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 уже есть 4 встроенных типа данных коллекций. Это список, кортеж, словарь и набор. Однако эти контейнеры данных используются для общих целей. Словарь Python или «Dict» — это встроенная структура данных Python, которая используется для хранения неупорядоченного набора элементов. В отличие от других структур данных Python, в которых хранятся отдельные значения, структура данных словаря хранит пары ключ-значение, где каждый ключ уникален. Он не запоминает порядок вставки пар ключ-значение и перебирает ключи. namedtuple в Python выполняет различные операции. Ниже приведен список некоторых наиболее распространенных операций, выполняемых namedtuple.Зачем нам нужен модуль коллекции в Python?
Следующие пункты подчеркивают основные преимущества использования модуля сбора по сравнению со встроенными контейнерами данных.
Модуль коллекции предоставляет специализированные версии этих контейнеров, таких как namedtuple, OrderedDict, defaultdict, chainmap, counter и многие другие.
Будучи более оптимизированными, эти контейнеры оказались лучшей альтернативой традиционным контейнерам данных, таким как список, кортеж и набор.
Модуль сбора эффективен для работы со структурированными данными.
Контейнеры данных, такие как namedtuple, потребляют меньше памяти и предоставляют расширенные возможности для хранения данных и управления ими. В чем разница между словарем и упорядоченным словарем в Python?
С другой стороны, Ordered Dictionary или OrderedDict отслеживает порядок вставки пар ключ-значение. Он также потребляет больше памяти, чем обычный словарь в Python, из-за реализации двусвязного списка. Если вы удалите и повторно вставите один и тот же ключ, он будет вставлен в исходное положение, поскольку OrderedDict запоминает порядок вставки. Каковы различные операции namedtuple?
1. Операции доступа: доступ по индексу: к элементам в namedtuple можно получить доступ по их индексам, в отличие от словаря. Доступ по имени ключа. Альтернативный способ доступа к элементам — по имени ключа.
2. Операции преобразования: make(): эта функция возвращает именованный кортеж. _asadict(): эта функция возвращает упорядоченный словарь, созданный из сопоставленных значений. используя оператор «**» (двойная звезда): эта функция преобразует словарь Python в именованный кортеж.
3. Дополнительные операции: _files(): Эта функция возвращает все имена ключей данного namedtuple. _replace(): эта функция принимает имя ключа в качестве аргумента и изменяет сопоставленные с ним значения.