Главная страница
Навигация по странице:

  • Обращение к элементу словаря в Python

  • Объединение словарей В том случае, если возникла необходимость в перемещении данных из одного словаря в другой, стоит воспользоваться функцией объединения update

  • Сортировка Сортировка осуществляется за счет импортированного модуля operator и встроенного метода itemgetter

  • В этом случае на помощь приходит метод cmp, получающий в качестве параметров два словаря

  • Словари в Python. 11 ЛК Словари в python. Словари в Python Словарь набор объектов, каждый из которых является парой вида ключ значение


    Скачать 0.51 Mb.
    НазваниеСловари в Python Словарь набор объектов, каждый из которых является парой вида ключ значение
    АнкорСловари в Python
    Дата25.12.2022
    Размер0.51 Mb.
    Формат файлаpptx
    Имя файла11 ЛК Словари в python.pptx
    ТипДокументы
    #863761

    Словари в Python

    Словарь– набор объектов, каждый из которых является парой вида ключ : значение. Ключи используются для доступа к значениям элементов словаря так же, как индексы для доступа к элементам списка.

    Обращение к элементу словаря в Python

    Добавление нового элемента в словарь

    d1 = {"Russia":"Moscow", "USA":"Washington"}

    d1["China"]="Beijing"

    print(d1) {'Russia': 'Moscow', 'China': 'Beijing', 'USA': 'Washington'}

    Для удаления элемента из словаря можно воспользоваться командой del.

    d2 = {"A1":"123", "A2":"456"}

    del d2["A1"]

    print(d2)

    {'A2': '456'}

    Проверка наличия ключа в словаре производится с помощью оператора in.

    d2 = {"A1":"123", "A2":"456"}

    "A1" in d2

    True

    "A3" in d2

    False

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

    clear() Удаляет все элементы словаря.

    d2 = {"A1":"123", "A2":"456"}

    print(d2)

    {'A2': '456', 'A1': '123'}

    d2.clear()

    print(d2)

    {}

    copy() Создается новая копия словаря.

    d2 = {"A1":"123", "A2":"456"}

    d3 = d2.copy()

    print(d3)

    {'A1': '123', 'A2': '456'}

    d3["A1"]="789”

    print(d2)

    {'A2': '456', 'A1': '123‘}

    print(d3)

    {'A1': '789', 'A2': '456'}

    get(key) Возвращает значение из словаря по ключу key.

    d = {"A1":"123", "A2":"456«}

    d.get("A1")

    '123'

    items() Возвращает элементы словаря (ключ, значение) в отформатированном виде.

    d = {"A1":"123", "A2":"456"}

    d.items()

    dict_items([('A2', '456'), ('A1', '123')])

    Объединение словарей

    В том случае, если возникла необходимость в перемещении данных из одного словаря в другой, стоит воспользоваться функцией объединения update. Вызвать ее нужно на объекте, который предполагается расширить новыми парами ключей и значений. Вот пример как в Python добавить в словарь словарь:

    a = {1: "one", 2: "two", 3: "three"}

    b = {4: "four", 5: "five"}

    a.update(b)

    print(a)

    {1: 'one', 2: 'two', 3: 'three', 4: 'four', 5: 'five'}

    Получение размера

    a = {1: "one", 2: "two", 3: "three"} print(len(a))

    3

    Генератор словарей

    Как и с другими наборами данныхпроизводить заполнение словарей можно при помощи генераторов. В следующем примере демонстрируется создание числовых пар коллекции с использованием генератора словарей Python с методом range, получающего в качестве аргумента 5.

    a = {a: a * a for a in range(5)}

    print(a)

    {0: 0, 1: 1, 2: 4, 3: 9, 4: 16}

    Таким образом, на выходе получается словарь a, включающий в себя ровно 5 пар. Ключами являются числа от 0 до 4, а значениями выступают их математические квадраты.

    Сортировка

    Сортировка осуществляется за счет импортированного модуля operator и встроенного метода itemgetter, получающего 0 или 1.

    import operator

    a = {2 : "two", 3 : "three", 1 : "one"}

    b = sorted(a.items(), key = operator.itemgetter(0))

    print(b)

    b = sorted(a.items(), key = operator.itemgetter(1))

    print(b)

    [(1, 'one'), (2, 'two'), (3, 'three')]

    [(1, 'one'), (3, 'three'), (2, 'two')]

    Аргумент 0 позволяет отсортировать словарь по ключу, в то время как 1 дает возможность вывести его содержимое в алфавитном порядке значений.

    Сравнение

    Иногда нужно удостовериться, что два словаря содержат абсолютно одинаковые данные, либо узнать какая коллекция больше или меньше по размеру. В этом случае на помощь приходит метод cmp, получающий в качестве параметров два словаря.

    a = {1: "one", 2: "two", 3: "three"}

    b = {4: "four", 5: "five"}

    c = {1: "one", 2: "two", 3: "three"}

    print(cmp(a, b))

    print(cmp(b, c))

    print(cmp(a, c))

    1

    -1

    0

    Приведенный код продемонстрировал выполнение метода cmp с трема комбинациями аргументов. Как видно из результатов выдачи, функция возвращает 1, если первый больше второго, -1, если наоборот и 0, когда данные полностью идентичны.

    С помощью функции-упаковщика zip(), вызванной внутри dict(), вы можете составить словарь из двух списков (в случае несовпадения длин списков, функция самостоятельно отсечет лишние элементы):

    Спасибо за внимание


    написать администратору сайта