Проверьте, содержится ли dict в dictPython

Программы на Python
Anonymous
Проверьте, содержится ли dict в dict

Сообщение Anonymous »

Тестирование на равенство для диктов Python отлично работает следующим образом:

Код: Выделить всё

first  = {"one":"un", "two":"deux", "three":"trois"}
second = {"one":"un", "two":"deux", "three":"trois"}

print(first == second) # Result: True
Но теперь мой второй словарь содержит несколько дополнительных ключей, которые я хочу игнорировать:

Код: Выделить всё

first  = {"one":"un", "two":"deux", "three":"trois"}
second = {"one":"un", "two":"deux", "three":"trois", "foo":"bar"}
Есть ли простой способ проверить, является ли первый словарь частью второго словаря со всеми его ключами и значениями?

РЕДАКТИРОВАТЬ 1:

Предполагается, что этот вопрос является дубликатом вопроса «Как проверить, если словарь содержит определенные ключи, но меня интересует проверка ключей и их значений. Наличие одних и тех же ключей не делает два диктанта равными.

РЕДАКТИРОВАТЬ 2:

Хорошо, теперь я получил несколько ответов, используя четыре разных метода, и доказал, что все они работают. Поскольку мне нужен быстрый процесс, я проверил время выполнения каждого из них. Я создал три идентичных словаря с 1000 элементами, ключи и значения представляли собой случайные строки длиной 10. Второй и третий получили несколько дополнительных пар ключ-значение, а последний не дополнительный ключ третьего< /code> получил новое значение. Таким образом, первый является подмножеством второго, но не третьего. Используя модуль timeit с 10000 повторений, я получил:

Код: Выделить всё

Method                                                      Time [s]
first.viewitems() 

Подробнее здесь: [url]https://stackoverflow.com/questions/30818694/test-if-dict-contained-in-dict[/url]

Вернуться в «Python»