Словари


Словарь - это тип данных, похожий на массивы, но работает с ключами и значениями вместо индексов. К каждому значению, хранящемуся в словаре, можно получить доступ с помощью ключа, который представляет собой объект любого типа (строка, число, список и т. Д.), Вместо того, чтобы использовать его индекс для его адресации.

Например, база данных телефонных номеров может быть сохранена с использованием словаря, подобного этому:

phonebook = {} phonebook["John"] = 938477566 phonebook["Jack"] = 938377264 phonebook["Jill"] = 947662781 print(phonebook)
1
2
3
4
5
телефонная книга = { }
телефонная книга [ "John" ] = 938477566
телефонная книга [ "Джек" ] = 938377264
телефонная книга [ "Jill" ] = 947662781
печать ( телефонная книга )
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
В 1]:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
1/0 0/0

В качестве альтернативы словарь может быть инициализирован теми же значениями в следующей записи:

phonebook = { "John" : 938477566, "Jack" : 938377264, "Jill" : 947662781 } print(phonebook)
1
2
3
4
5
6
телефонная книга = {
«Джон» : 938477566 ,
«Джек» : 938377264 , г.
«Джилл» : 947662781
}
печать ( телефонная книга )
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
В 1]:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
1/0 0/0

Перебор словарей

Словари можно перебирать, как и в списке. Однако словарь, в отличие от списка, не сохраняет порядок значений, хранящихся в нем. Для перебора пар ключ-значение используйте следующий синтаксис:

phonebook = {"John" : 938477566,"Jack" : 938377264,"Jill" : 947662781} for name, number in phonebook.items(): print("Phone number of %s is %d" % (name, number))
1
2
3
phonebook = { "Джон" : 938477566 , "Джек" : 938377264
, "Джилл" : 947662781 }
для имени , номера в телефонной книге . items ( ) :
print ( "Номер телефона% s% d" % ( имя , номер ))
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
В 1]:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
1/0 0/0

Удаление значения

Чтобы удалить указанный индекс, используйте одно из следующих обозначений:

phonebook = { "John" : 938477566, "Jack" : 938377264, "Jill" : 947662781 } del phonebook["John"] print(phonebook)
1
2
3
4
5
6
7
телефонная книга = {
«Джон» : 938477566 ,
«Джек» : 938377264 , г.
«Джилл» : 947662781
}
del phonebook [ "Джон" ]
печать ( телефонная книга )
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
В 1]:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
1/0 0/0

или:

phonebook = { "John" : 938477566, "Jack" : 938377264, "Jill" : 947662781 } phonebook.pop("John") print(phonebook)
1
2
3
4
5
6
7
телефонная книга = {
«Джон» : 938477566 ,
«Джек» : 938377264 , г.
«Джилл» : 947662781
}
телефонная книга . поп ( "Джон" )
печать ( телефонная книга )
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
В 1]:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
1/0 0/0

Упражнение

Добавьте «Джейка» в телефонную книгу с номером телефона 938273443 и удалите Джилл из телефонной книги.