Похожие презентации:
5
1.
Разработкапрограммных модулей
2.
Практическая работаhttps://play.myquiz.ru/
3.
Словари в Python. СозданиеПустой словарь:
dict_sample = {}
Cловарь, где ключи являются целыми числами:
dict_sample = {1: 'mango', 2: 'pawpaw'}
Создание словаря с ключами разных типов:
dict_sample = {'fruit': 'mango', 1: [4, 6, 8]}
Можно также создать словарь, явно вызвав метод dict():
dict_sample = dict({1:'mango', 2:'pawpaw'})
Словарь можно создать с помощью последовательности, как в примере внизу:
dict_sample = dict([(1,'mango'), (2,'pawpaw')])
Словари могут быть вложенными. Это значит, что можно создавать словари внутри
существующего словаря. Например:
dict_sample = { 1: {'student1': 'Nicholas', 'student2': 'John', 'student3': 'Mercy'},
2: {'course1': 'Computer Science', 'course2': 'Mathematics', 'course3': 'Accounting'} }
4.
Словари в Python. ВыводЧтобы вывести содержимое словаря, можно использовать функцию print() и передать
название словаря в качестве аргумента. Например:
dict_sample = {
"Company": "Toyota",
"model": "Premio",
"year": 2012 }
print(dict_sample)
Вывод:
{'Company': 'Toyota', 'model': 'Premio', 'year': 2012}
5.
Словари в Python. Доступ к элементамиЧтобы получить доступ к элементам словаря, нужно передать ключ в квадратных
скобках []. Например:
dict_sample = { "Company": "Toyota", "model": "Premio", "year": 2012 }
x = dict_sample["model"]
print(x)
Вывод:
Premio
dict = {'Name': 'Mercy', 'Age': 23, 'Course': 'Accounting'}
print("Student Name:", dict['Name'])
print("Course:", dict['Course']) print("Age:", dict['Age'])
Вывод:
Student Name: Mercy Course: Accounting Age: 23
6.
Словари в Python. Доступ к элементамиdict_sample = {
"Company": "Toyota",
"model": "Premio",
"year": 2012 }
x = dict_sample.get("model")
print(x)
Premio
7.
Словари в Python. Добавление элементовСуществует множество способов для добавления новых элементов в словарь. Можно
использовать новый ключ и присвоить ему значение. Например:
dict_sample = {
"Company": "Toyota",
"model": "Premio",
"year": 2012 }
dict_sample["Capacity"] = "1800CC"
print(dict_sample)
Вывод:
{'Capacity': '1800CC', 'year': 2012, 'Company': 'Toyota', 'model': 'Premio'}
8.
Словари в Python. Добавление элементовВот другой пример. Для начала нужно создать пустой словарь:
MyDictionary = {}
print("An Empty Dictionary: ")
print(MyDictionary)
Вывод:
An Empty Dictionary:
Словарь ничего не возвращает, потому что в нем ничего не хранится. Добавим в нему
элементы, один за одним:
MyDictionary[0] = 'Apples'
MyDictionary[2] = 'Mangoes'
MyDictionary[3] = 20
print("\n3 elements have been added: ")
print(MyDictionary)
Вывод:
3 elements have been added: {0: 'Apples', 2: 'Mangoes', 3: 20}
9.
Словари в Python. Добавление элементовМожно даже добавить несколько значений для одного ключа. Например:
MyDictionary['Values'] = 1, "Pairs", 4
print("\n3 elements have been added: ")
print(MyDictionary)
Вывод:
3 elements have been added: {'Values': (1, 'Pairs', 4)}
10.
Обновление элементовПосле добавления значения в словарь существующий элемент словаря можно
изменить. Для изменения значения используется соответствующий ключ. Например:
dict_sample = {
"Company": "Toyota",
"model": "Premio",
"year": 2012 }
dict_sample["year"] = 2014
print(dict_sample)
Вывод:
{'year': 2014, 'model': 'Premio', 'Company': 'Toyota'}
11.
Удаление элементовКлючевое слово del можно использовать для удаления элемента с конкретным ключом.
Например:
dict_sample = {
"Company": "Toyota",
"model": "Premio",
"year": 2012 }
del dict_sample["year"]
print(dict_sample)
Вывод:
{'Company': 'Toyota', 'model': 'Premio'}
12.
Удаление элементовДругой способ удалить пару ключ-значение — функция pop() с ключом записи в виде
аргумента.
Например:
dict_sample = {
"Company": "Toyota",
"model": "Premio",
"year": 2012 }
dict_sample.pop("year")
print(dict_sample)
Вывод:
{'Company': 'Toyota', 'model': 'Premio'}
13.
Удаление элементовФункция popitem() удаляет последний элемент в словаре. Для нее не нужно указывать
конкретный ключ. Примеры:
dict_sample = {
"Company": "Toyota",
"model": "Premio",
"year": 2012 }
dict_sample.popitem()
print(dict_sample)
Вывод:
{'Company': 'Toyota', 'model': 'Premio'}
14.
Удаление элементовЧто делать, если нужно удалить целый словарь? Это будет сложно и займет много
времени, если пользоваться этими методами к каждому ключу. Вместо этого можно
использовать ключевое слово del для целого словаря. Например:
dict_sample = {
"Company": "Toyota",
"model": "Premio",
"year": 2012 }
del dict_sample
print(dict_sample)
Вывод:
NameError: name 'dict_sample' is not defined
15.
Другие методы для словарейМетод len()
Метод copy()
Метод items()
dict_sample = {
"Company": "Toyota",
"model": "Premio",
"year": 2012 }
for k, v in dict_sample.items():
print(k, v)
Вывод:
('Company', 'Toyota') ('model', 'Premio') ('year', 2012)
16.
Другие методы для словарейОбъект, который возвращает items(), можно использовать, чтобы показать изменения в
словаре. Вот как это работает.
dict_sample = {
"Company": "Toyota",
"model": "Premio",
"year": 2012 }
x = dict_sample.items()
print(x)
dict_sample["model"] = "Mark X"
print(x)
Вывод:
dict_items([('Company', 'Toyota'), ('model', 'Premio'), ('year', 2012)])
dict_items([('Company', 'Toyota'), ('model', 'Mark X'), ('year', 2012)])
17.
Другие методы для словарейМетод fromkeys()
Этот метод возвращает словарь с указанными ключами и значениями. У него
следующий синтаксис:
dictionary.fromkeys(keys, value)
Предположим, что нужно создать словарь с тремя ключами и одинаковым значением.
Это можно сделать следующим образом:
name = ('John', 'Nicholas', 'Mercy')
age = (25, 17)
dict_sample = dict.fromkeys(name, age)
print(dict_sample)
Вывод:
{'John': 25, 'Mercy': 25, 'Nicholas': 25}
18.
Другие методы для словарейМетод update ()
Метод update() реализует своеобразную операцию конкатенации для словарей. Он
объединяет ключи и значения одного словаря с ключами и значениями другого. При
совпадении ключей в итоге сохранится значение словаря, указанного в качестве
аргумента метода update().
В Python 3.9 появились операторы | и |=, которые реализуют операцию конкатенации
словарей.
x = {"key1": "value1 from x", "key2": "value2 from x"}
y = {"key2": "value2 from y", "key3": "value3 from y"}
x|y
{'key1': 'value1 from x', 'key2': 'value2 from y', 'key3': 'value3 from y'}
y|x
{'key2': 'value2 from x', 'key3': 'value3 from y', 'key1': 'value1 from x'}
19.
Другие методы для словарейinfo1 = {'name': 'Bob',
'age': 25,
'job': 'Dev'}
info2 = {'age': 30,
'city': 'New York',
'email': '[email protected]'}
info1.update(info2)
print(info1)
{'name': 'Bob', 'age': 30, 'job': 'Dev', 'city': 'New York', 'email': '[email protected]'}
20.
Другие методы для словарейМетод setdefault ()
Метод dict.setdefault() вернет значение словаря dict, соответствующее ключу key.
Если указанный ключ key отсутствует, вставит его в словарь dict со значением default и
вернет значение default.
Если значение по умолчанию default не установлено и ключ отсутствует, метод вставит
ключ в словарь со значением None, при этом никакое значение не возвращается.
По умолчанию default имеет значение None. Этот метод никогда не вызывает
исключения KeyError.
21.
Другие методы для словарей>>> x = {'one': 0, 'two': 20, 'three': 3, 'four': 4}
>>> x.setdefault('one')
#0
>>> x.setdefault('ten')
>>> x
# {'one': 0, 'two': 20, 'three': 3, 'four': 4, 'ten': None}
>>> x.setdefault('six', 6)
#6
>>> x
# {'one': 0, 'two': 20, 'three': 3, 'four': 4, 'ten': None, 'six': 6}
>>> x.setdefault('six', 10)
#6
>>> x
22.
Вложенные словариСловари могут содержать другие словари, которые сами, в свою очередь, содержат
словари, и так далее на любую глубину. Такие словари называются вложенными
словарями (мы уже сталкивались с вложенными списками и кортежами). Вложенные
словари – один из способов представления структурированной информации.
Вложенный словарь создается как обычный, только каждое значение в нем – другой
словарь.
Приведенный ниже код создает словарь для хранения информации о сотрудниках
некоторой компании.
info = {'emp1': {'name': 'Timur', 'job': 'Teacher'},
'emp2': {'name': 'Ruslan', 'job': 'Developer'},
'emp3': {'name': 'Rustam', 'job': 'Tester'}}
23.
Вложенные словариТот же самый словарь info может быть создан по-другому:
info = dict(emp1 = {'name': 'Timur', 'job': 'Teacher'},
emp2 = {'name': 'Ruslan', 'job': 'Developer'},
emp3 = {'name': 'Rustam', 'job': 'Tester'})
или
ids = ['emp1', 'emp2', 'emp3']
emp_info = [{'name': 'Timur', 'job': 'Teacher'},
{'name': 'Ruslan', 'job': 'Developer'},
{'name': 'Rustam', 'job': 'Tester'}]
info = dict(zip(ids, emp_info))
24.
Вложенные словариФункция zip берёт на вход несколько списков и создаёт из них список кортежей, такой,
что первый элемент полученного списка содержит кортеж из первых элементов всех
списков-аргументов.
>>> s = 'abc'
>>> t = (10, 20)
>>> u = (-5, -10, -15)
>>> list(zip(s,t,u))
[('a', 10, -5), ('b', 20, -10), ('c', 30, -15)]
Что будет, если передать значения разной длины?
25.
Вложенные словариДля того чтобы получить значения определенных элементов во вложенном словаре,
необходимо указать их ключи в нескольких квадратных скобках подобно тому, как мы
получали значения во вложенных списках.
info = {'emp1': {'name': 'Timur', 'job': 'Teacher'},
'emp2': {'name': 'Ruslan', 'job': 'Developer'},
'emp3': {'name': 'Rustam', 'job': 'Tester'}}
print(info['emp1']['name'])
print(info['emp2']['job'])
Что выведет программа?
26.
Вложенные словариЧтобы изменить значение определенного элемента во вложенном словаре, необходимо
обратиться к его ключу и использовать оператор присвоения (=).
info = {'emp1': {'name': 'Timur', 'job': 'Teacher'},
'emp2': {'name': 'Ruslan', 'job': 'Developer'},
'emp3': {'name': 'Rustam', 'job': 'Tester'}}
info['emp1']['job'] = 'Manager'
print(info['emp1'])
27.
Вложенные словариИтерации по вложенным словарям осуществляются как правило двумя циклами for.
info = {'emp1': {'name': 'Timur', 'job': 'Teacher'},
'emp2': {'name': 'Ruslan', 'job': 'Developer'},
'emp3': {'name': 'Rustam', 'job': 'Tester'}}
for emp in info:
print('Employee ID:', emp)
for key in info[emp]:
print(key + ':', info[emp][key])
print()
for emp, inf in info.items():
print('Employee ID:', emp)
for key in inf:
print(key + ':', inf[key])
28.
Генераторы в словаряхГенераторы словаря могут выполнять итерации по любому итерируемому объекту:
списки, кортежи, строки, словари.
dct = {c: c * 3 for c in 'ORANGE'}
print(dct)
29.
Домашнее заданиеНапишите программу, которая удаляет дубликаты из словаря.
Для решения поставленной задачи вам могут потребоваться конструкции in и/или not in