• burger-icon

    Шаг 3. Словарь

    Баллов за прохождение: 1

    Словарь

    Словарь или dict в Python - это изменяемая, неупорядоченная1 коллекция элементов, которая хранит пары ключ-значение. Каждый элемент словаря представлен в виде ключа и соответствующего ему значения. Ключи должны быть уникальными и неизменяемыми объектами, такими как строки, числа или кортежи, а значения могут быть любого типа данных. Очень похоже на формат JSON.

    product = {
        "name": "Laptop",
        "brand": "Dell",
        "price": 1200.00,
        "in_stock": True
    }
    library = {
        "book1": {
            "title": "Harry Potter and the Philosopher's Stone",
            "author": "J.K. Rowling",
            "year": 1997
        },
        "book2": {
            "title": "1984",
            "author": "George Orwell",
            "year": 1949
        },
        # Другие книги...
    }
    
    # словарь в словаре

    Индексация

    Вместо индексов 0, 1, 2, 3 для обращения к объектам словаря используется их ключ.

    Для получения значения по ключу используется синтаксис:

    value = my_dict[key]

    Где my_dict - словарь, а key - ключ, по которому вы хотите получить значение. Если ключ key присутствует в словаре my_dict, то будет возвращено соответствующее значение. В противном случае возникнет исключение KeyError.

    Пример:

    person = {"name": "John", "age": 30}
    print(person["name"])  # Выведет: John
    print(person["age"])   # Выведет: 30
    

    Если необходимо проверить, существует ли ключ в словаре перед обращением к нему, можно воспользоваться методом in:

    if "name" in person:
        print("name есть в словаре")
    

    Этот подход позволяет безопасно обращаться к элементам словаря, учитывая, что ключ может быть отсутствующим.

     

    Методы

    Словарь имеет огромное количество методов. Расскажу об основных: это get, keys, values, items, update, pop:

    1. dict.get(key, default=None): Возвращает значение для указанного ключа, если ключ присутствует в словаре, иначе возвращает значение по умолчанию (по умолчанию None).
    person = {"name": "John", "age": 30}
    print(person.get("name"))  # Выведет: John
    print(person.get("city"))  # Выведет: None
    print(person.get("city", "Unknown"))  # Выведет: Unknown
    
    1. dict.keys(): Возвращает представление (объект) всех ключей в словаре.
    grades = {"Alice": 95, "Bob": 87, "Charlie": 91}
    print(grades.keys())  # Выведет: dict_keys(['Alice', 'Bob', 'Charlie'])
    
    1. dict.values(): Возвращает представление (объект) всех значений в словаре.
    grades = {"Alice": 95, "Bob": 87, "Charlie": 91}
    print(grades.values())  # Выведет: dict_values([95, 87, 91])
    
    1. dict.items(): Возвращает представление (объект) всех пар ключ-значение в словаре в виде кортежей.
    grades = {"Alice": 95, "Bob": 87, "Charlie": 91}
    print(grades.items())  # Выведет: dict_items([('Alice', 95), ('Bob', 87), ('Charlie', 91)])
    
    1. dict.update(other_dict): Обновляет словарь, добавляя элементы из другого словаря.
    person = {"name": "John", "age": 30}
    person.update({"city": "New York", "job": "Engineer"})
    print(person)  # Выведет: {'name': 'John', 'age': 30, 'city': 'New York', 'job': 'Engineer'}
    
    1. dict.pop(key[, default]): Удаляет элемент из словаря по указанному ключу и возвращает его значение. Если ключ отсутствует, возвращает значение по умолчанию или возбуждает исключение, если значение по умолчанию не указано.
    person = {"name": "John", "age": 30}
    name = person.pop("name")
    print(name)  # Выведет: John
    print(person)  # Выведет: {'age': 30}
    

    Это лишь некоторые методы словарей в Python. Существует еще много других методов, которые могут быть полезны в различных сценариях использования.

    Заметки:

    1 - неупорядоченная, потому что ключ используется вместо индекса, соответственно, нет порядка 0, 1, 2, 3.. как в списке.

    Для решения задачи, Зарегистрируйтесь или Войдите на сайт.