Руководство Python Dictionary

1- Python Dictionary

В Python, dictionary (словарь) является видом  данных , это список элементов (element), каждый из которых являет парой ключей и значения (key & value), довольно похоже на понятие  Map в Java.
Каждый dictionary является объектом класса dict.
Чтобы написать один dictionary используют знаки {} , и пишут элементы внутри, элементы разделены с помощью запятых. Каждый элемент это пара ключей и значения разделённые двоеточием (:)
Например:
# Dictionary

myinfo =  {"Name": "Tran", "Age": 37, "Address" : "Vietnam"  }
Вы тоже можете создать объект dictionary конструктором (constructor) класса dict.


​​​​​​​
createDictionaryFromClass.py
# Создать dictionary (словарь) через constructor (конструктор) класса dict.
mydict = dict()

mydict["E01"] =  "John"
mydict["E02"] =  "King"

print ("mydict: ", mydict)

Особенности значения (value) в dictionary:

  • Каждый элемент (element) dictionary это пара (ключ и значение), значение может быть любым видом (string, цифры, видом определенный пользователями...), и могут совпадать.

Особенности ключа  (key) в dictionary.

  • Ключ в dictionary должен быть неизменным (immutable). Значит он может быть string, цифрой, Tuple, ...
  • Некоторые типы недопустимы, например ,List (список), так как List является изменным типом данных (mutable).
  • Ключи в dictionary не должны совпадать.
Пример:
dictionaryExample.py
# Dictionary

myinfo =  {"Name": "Tran", "Age": 37, "Address" : "Vietnam"  }

print ("myinfo['Name'] = ", myinfo["Name"])

print ("myinfo['Age'] = ", myinfo["Age"])

print ("myinfo['Address'] = ", myinfo["Address"])

2- Обновить Dictionary

Dictionary позволяет обновлять значение соответствующее определенному ключу, оно добавляет новый элемент, если тот или иной ключ не существует в dictionary.
updateDictionaryExample.py
# Dictionary
myinfo =  {"Name": "Tran", "Age": 37, "Address" : "Vietnam"  }

# Обновить значение ключа (key) 'Address'
myinfo["Address"] = "HCM Vietnam"

# Добавить новый элемент для ключа (key) это 'Phone'.
myinfo["Phone"] = "12345"


print ("Element count: ", len(myinfo) )

print ("myinfo['Name'] = ", myinfo["Name"])

print ("myinfo['Age'] = ", myinfo["Age"])

print ("myinfo['Address'] = ", myinfo["Address"])

print ("myinfo['Phone'] = ", myinfo["Phone"])

3- Удалить dictionary

Существует 2 способа удаления элемента из dictionary.
  1. Использование оператора del
  2. Использование метода _delitem_(key)
deleteDictionaryExample.py
# (Key,Value) = (Имя, Номер телефона)
contacts = {"John": "01217000111", \
            "Tom": "01234000111", \
            "Addison":"01217000222", "Jack":"01227000123"}

print ("Contacts: ", contacts)

print ("\n")
print ("Delete key = 'John' ")

# Удаить элемент соответствующий с ключом 'John'
del contacts["John"]


print ("Contacts (After delete): ", contacts)

print ("\n")
print ("Delete key = 'Tom' ")

# Удаить элемент соответствующий с ключом 'Tom'
contacts.__delitem__( "Tom")


print ("Contacts (After delete): ", contacts)


print ("Clear all element")

# Удалить все элементы.
contacts.clear()

print ("Contacts (After clear): ", contacts)

# Удалить dictionary 'contacts' из памяти
del contacts

# Ошибка при доступе в переменную, которая не существует в памяти
print ("Contacts (After delete): ", contacts)

4- Функции для Dictionary

Функция ОПИСАНИЕ
len(dict) Возвращает количество элементов dict.
str(dict) Функция преобразовывает string для представления dictionary.
type(variable) Возвращает вид переданной переменной. Если переданная переменная является dictionary, то она возвращает объект, представляющий класс 'dict'.
dir(clazzOrObject) Возвращает списко членов переданного класса (или объект). Если переданный класс является dict классом, то возвращает списко членов dict класса.
functionDictionaryExample.py
contacts = {"John": "01217000111" ,"Addison": "01217000222","Jack": "01227000123"}
 
print ("contacts: ", contacts)


print ("Element count: ", len(contacts) )


contactsAsString = str(contacts)

 
print ("str(contacts): ", contactsAsString )

# Объект представляет класс 'dict'.
aType = type(contacts)

print ("type(contacts): ", aType )

# Функция dir(dict) возвращает членов класса 'dict'.
print ("dir(dict): ", dir(dict) )

# ------------------------------------------------------------------------------------
# ['__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', 
#  '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', 
#  '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', 
#  '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', 
#  '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 
#  'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 
#  'setdefault', 'update', 'values']
# -------------------------------------------------------------------------------------

5- Методы

  • TODO