Руководство Python Dictionary
View more Tutorials:
В 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"])

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"])

Существует 2 способа удаления элемента из dictionary.
- Использование оператора del
- Использование метода _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)

Функция | ОПИСАНИЕ |
---|---|
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'] # -------------------------------------------------------------------------------------

-
TODO