
Данные требуют нескольких способов хранения и доступа к ним. Одна из наиболее важных реализаций включает хеш-таблицы. В Python эти хеш-таблицы реализованы с помощью встроенного типа данных, то есть словаря. В этой статье вы узнаете, что такое хеш-таблицы и хэш-карты в Python и как их можно реализовать с помощью словарей.
Прежде чем двигаться дальше, давайте взглянем на все темы обсуждения:
- Что такое хеш-таблица или хеш-карта в Python?
- Хеш-таблица против Hashmap
- Создание словарей
- Создание вложенных словарей
- Выполнение операций с хеш-таблицами с использованием словарей
- Доступ к ценностям
- Обновление значений
- Удаление элементов
- Преобразование словаря в фрейм данных
Что такое хеш-таблица или хеш-карта в Python?
В информатике хеш-таблица или Hashmap - это тип структуры данных, который сопоставляет ключи с парами значений (реализует типы данных абстрактного массива). Он в основном использует функцию, которая вычисляет значение индекса, которое, в свою очередь, содержит элементы для поиска, вставки, удаления и т. Д. Это упрощает и ускоряет доступ к данным. Как правило, в хэш-таблицах хранятся пары ключ-значение, и ключ создается с помощью хеш-функции.
Хеш-таблицы или карты в Python реализуются через тип данных встроенного словаря. Ключи словаря в Python генерируются функцией хеширования. Элементы словаря не упорядочены и могут быть изменены.
Примером словаря может быть сопоставление имен сотрудников и их идентификаторов сотрудников или имен студентов вместе с их идентификаторами студентов.
Забегая вперед, давайте посмотрим на разницу между хеш-таблицей и хеш-картой в Python.
Хеш-таблица и хэш-карта: разница между хеш-таблицей и хеш-картой в Python

Создание словарей:
Словари можно создавать двумя способами:
- Использование фигурных скобок ({})
- Использование функции dict ()
Использование фигурных скобок:
Словари в Python можно создавать с помощью фигурных скобок следующим образом:
ПРИМЕР:
my_dict={'Dave' : '001' , 'Ava': '002' , 'Joe': '003'}
print(my_dict)
type(my_dict)
ВЫХОД:
{‘Dave’: ‘001’, ‘Ava’: ‘002’, ‘Joe’: ‘003’}
dict
Использование функции dict ():
Python имеет встроенную функцию dict (), которую можно использовать для создания словарей в Python. Например:
ПРИМЕР:
new_dict=dict() print(new_dict) type(new_dict)
ВЫХОД:
{}
dict
В приведенном выше примере создается пустой словарь, поскольку пары ключ-значение не передаются в качестве параметра функции dict (). Если вы хотите добавить значения, вы можете сделать следующее:
ПРИМЕР:
new_dict=dict(Dave = '001' , Ava= '002' , Joe= '003') print(new_dict) type(new_dict)
ВЫХОД:
{‘Dave’: ‘001’, ‘Ava’: ‘002’, ‘Joe’: ‘003’}
dict
Создание вложенных словарей:
Вложенные словари - это, по сути, словари, которые находятся внутри других словарей. Например:
ПРИМЕР:
emp_details = {'Employee': {'Dave': {'ID': '001',
'Salary': 2000,
'Designation':'Python Developer'},
'Ava': {'ID':'002',
'Salary': 2300,
'Designation': 'Java Developer'},
'Joe': {'ID': '003',
'Salary': 1843,
'Designation': 'Hadoop Developer'}}}
Выполнение операций с хеш-таблицами с использованием словарей:
Существует ряд операций, которые можно выполнять с таблицами в Python с помощью словарей, таких как:
- Доступ к ценностям
- Обновление значений
- Удаление элемента
Доступ к значениям:
Доступ к значениям словаря можно получить разными способами, например:
- Использование ключевых значений
- Использование функций
- Реализация цикла for
Используя ключевые значения:
Доступ к словарным значениям можно получить, используя следующие ключевые значения:
ПРИМЕР:
my_dict={'Dave' : '001' , 'Ava': '002' , 'Joe': '003'}
my_dict['Dave']
ВЫХОД: ‘ 001’
Использование функций:
Существует ряд встроенных функций, которые можно использовать, например get (), keys (), values () и т. Д.
ПРИМЕР:
my_dict={'Dave' : '001' , 'Ava': '002' , 'Joe': '003'}
print(my_dict.keys())
print(my_dict.values())
print(my_dict.get('Dave'))
ВЫХОД:
dict_keys ([«Дэйв», «Ава», «Джо»])
dict_values ([«001», «002», «003»])
001
Реализация цикла for:
Цикл for позволяет легко получить доступ к парам "ключ-значение" словаря, перебирая их. Например:
my_dict={'Dave' : '001' , 'Ava': '002' , 'Joe': '003'}
print("All keys")
for x in my_dict:
print(x) #prints the keys
print("All values")
for x in my_dict.values():
print(x) #prints values
print("All keys and values")
for x,y in my_dict.items():
print(x, ":" , y) #prints keys and values
ВЫХОД:
Все ключи
Дэйв
Ава
Джо
Все значения
001
002
003
Все ключи и значения
Дэйв: 001
Ава: 002
Джо: 003
Обновление значений:
Словари - это изменяемые типы данных, поэтому вы можете обновлять их по мере необходимости. Например, если я хочу изменить идентификатор сотрудника по имени Дейв с «001» на «004», и если я хочу добавить еще одну пару «ключ-значение» в свой словарь, я могу сделать следующее:
ПРИМЕР:
my_dict={'Dave' : '001' , 'Ava': '002' , 'Joe': '003'}
my_dict['Dave'] = '004' #Updating the value of Dave
my_dict['Chris'] = '005' #adding a key-value pair
print(my_dict)
ВЫВОД: {«Дэйв»: «004», «Ава»: «002», «Джо»: «003», «Крис»: «005»}
Удаление предметов из словаря:
Существует ряд функций, которые позволяют удалять элементы из словаря, такие как del (), pop (), popitem (), clear (), и т. Д. Например:
ПРИМЕР:
my_dict={'Dave': '004', 'Ava': '002', 'Joe': '003', 'Chris': '005'}
del my_dict['Dave'] #removes key-value pair of 'Dave'
my_dict.pop('Ava') #removes the value of 'Ava'
my_dict.popitem() #removes the last inserted item
print(my_dict)
ВЫВОД: {‘Joe’: ‘003’}
Приведенный выше вывод показывает, что все элементы, кроме «Joe: 003», были удалены из словаря с помощью различных функций.
Преобразование словаря в фреймворк:
Как вы видели ранее, я создал вложенный словарь, содержащий имена сотрудников и их данные, сопоставленные с ним. Теперь, чтобы сделать четкую таблицу из этого, я воспользуюсь библиотекой pandas, чтобы поместить все в качестве фрейма данных.
ПРИМЕР:
import pandas as pd
emp_details = {'Employee': {'Dave': {'ID': '001',
'Salary': 2000,
'Designation':'Python Developer'},
'Ava': {'ID':'002',
'Salary': 2300,
'Designation': 'Java Developer'},
'Joe': {'ID': '003',
'Salary': 1843,
'Designation': 'Hadoop Developer'}}}
df=pd.DataFrame(emp_details['Employee'])
print(df)
ВЫХОД:

Надеюсь, вы понимаете все, о чем вам рассказали в этом уроке. На этом мы подошли к концу нашей статьи о хэш-таблицах и Haspmaps в Python. Убедитесь, что вы как можно больше тренируетесь, и вернитесь к своему опыту.
Если вы хотите ознакомиться с другими статьями о самых популярных технологиях на рынке, таких как искусственный интеллект, DevOps, этический взлом, посетите официальный сайт Edureka.
Обязательно обратите внимание на другие статьи в этой серии, которые объяснят различные другие аспекты Python и Data Science.
4. Библиотеки Python для науки о данных и машинного обучения
15. Python vs C ++
17. Python SciPy
20. Основы Python
23. Python Decorator
32. Python 3.8
Первоначально опубликовано на https://www.edureka.co 21 октября 2019 г.