2013-08-14 5 views
1

Я пытаюсь написать функцию python для сравнения ключей в двух словарях. Я делаю это, чтобы проверить, что ключи в словаре, которые для конкретного json не изменяются и остаются неизменными.Как проверить, являются ли ключи двух словарей одинаковыми

У меня будет один словарь, хранящийся в кодировке python, и другой, который я сделаю для запроса GET.

Может ли кто-нибудь помочь мне в том, как это сделать, пожалуйста?

ответ

4

Вы можете использовать dict.viewkeys возвращает набор как вид объекта:

>>> {'a':4, 'b':2}.viewkeys() == {'a':0, 'b':1}.viewkeys() 
True 

Вы не можете полагаться на dict.keys в py2.x, потому что она возвращает список и порядок ключей может быть произвольным.

>>> ['a', 'b', 'c'] == ['a', 'c', 'b'] #same keys, but not equal 
False 
>>> set(['a', 'b', 'c']) == set(['a', 'c', 'b']) #sets compare fine 
True 

О пользователе py3.x dict.keys().

+0

Это 2.7+ (и просто 'dict.keys()' в 3+). Это также имеет то преимущество, что вы можете выполнять операцию «XOR» с помощью оператора '^' (чтобы увидеть «разницу»). +1 – DanielB

0

Как это:

{'a':4, 'b':2}.keys() == {'a':0, 'b':1}.keys() 
Смежные вопросы