Перейти к основному содержанию
EDU-MMCS
  • В начало
  • Дополнительно
Вы используете гостевой доступ
Вход
В начало
  1. Prog_2
  2. Лабораторная работа №9. Словари

Лабораторная работа №9. Словари

Требуемые условия завершения
Открыто с: вторник, 15 октября 2024, 00:00
Срок сдачи: вторник, 22 октября 2024, 23:59

Словарь - неупорядоченная структура данных, которая позволяет хранить пары «ключ — значение». Хранят ключи и их объекты, где ключ – это имя объекта в словаре.

Создание словаря в Python

Создание через функцию

dict1 = dict()

Создание через фигурные скобки

dict1 = {}
#Создание через функцию:
dict1 = dict(car='машина', apple='яблоко') 

#Создание через фигурные скобки:
dict2 = {'car': 'машина', 'apple': 'яблоко'}

Изменение словаря

dict1 = { 
    'car': 'машина', 
    'apple': 'яблоко'
} 
dict1['orange'] = 'апельсин'

Удаление ключа

dict = { 
'car': 'машина’, 
'apple': 'яблоко’, 
'orange': 'апельсин' } 
del dict['orange']

Перебор элементов в словаре

dict1 = { 
    'car': 'машина', 
    'apple': 'яблоко'
} 
for key in dict1:
    print(key, dict1[key])

Методы словаря

1. dict.get(key[, default])

Возвращает значение, соответствующее ключу. Если ключ не найден, возвращает значение по умолчанию (если указано) или None.

my_dict = {'a': 1, 'b': 2}
print(my_dict.get('a'))      # 1
print(my_dict.get('c', 3))   # 3 (по умолчанию)

2. dict.keys()

Возвращает представление ключей словаря.

my_dict = {'a': 1, 'b': 2}
print(my_dict.keys())  # dict_keys(['a', 'b'])

3. dict.values()

Возвращает представление значений словаря.

my_dict = {'a': 1, 'b': 2}
print(my_dict.values())  # dict_values([1, 2])

4. dict.items()

Возвращает представление пар «ключ-значение».

my_dict = {'a': 1, 'b': 2}
print(my_dict.items())  # dict_items([('a', 1), ('b', 2)])

5. dict.update([other])

Обновляет словарь, добавляя пары «ключ-значение» из другого словаря или из итерируемого объекта.

my_dict = {'a': 1, 'b': 2}
my_dict.update({'b': 3, 'c': 4})
print(my_dict)  # {'a': 1, 'b': 3, 'c': 4}

6. dict.pop(key[, default])

Удаляет ключ и возвращает его значение. Если ключ не найден, возвращает значение по умолчанию.

my_dict = {'a': 1, 'b': 2}
my_dict.update({'b': 3, 'c': 4})
print(my_dict)  # {'a': 1, 'b': 3, 'c': 4}

7. dict.popitem()

Удаляет и возвращает пару «ключ-значение» из словаря. В Python 3.7+ это будет последняя добавленная пара.

my_dict = {'a': 1, 'b': 2}
my_dict.update({'b': 3, 'c': 4})
print(my_dict)  # {'a': 1, 'b': 3, 'c': 4}

8. dict.clear()

Удаляет все элементы из словаря.

my_dict = {'a': 1, 'b': 2}
my_dict.update({'b': 3, 'c': 4})
print(my_dict)  # {'a': 1, 'b': 3, 'c': 4}

9. dict.copy()

Возвращает поверхностную копию словаря.

my_dict = {'a': 1, 'b': 2}
my_dict.update({'b': 3, 'c': 4})
print(my_dict)  # {'a': 1, 'b': 3, 'c': 4}

Задания для самостоятельной работы

  1. Напишите функцию word_frequency(text), которая принимает строку text и возвращает словарь, где ключи — это слова, а значения — количество их вхождений в тексте.
  2. Напишите функцию invert_dict(d), которая принимает словарь d и возвращает новый словарь, где ключи и значения поменяны местами. Если два ключа имеют одно и то же значение, сохраните их в виде списка.
  3. Напишите функцию group_by_length(words), которая принимает список слов и возвращает словарь, где ключ — длина слова, а значение — список слов этой длины.
  4. Напишите функцию char_frequency(s), которая принимает строку s и возвращает словарь, где ключи — это символы, а значения — количество их вхождений в строке.
  5. Напишите функцию merge_dicts(dict1, dict2), которая объединяет два словаря. Если ключи совпадают, сохранить суммы их значений.
  6. Напишите функцию most_frequent_value(d), которая возвращает значение, которое встречается чаще всего в словаре. Если таких значений несколько, вернуть любое из них.
Служба поддержки сайта
Вы используете гостевой доступ (Вход)
Сводка хранения данных
Скачать мобильное приложение Яндекс.Метрика
На платформе Moodle