Я получаю упорядоченный словарь в переменной python snapshot
. Как я могу проверить, существует ли значение 'Operator'
в словаре?
OrderedDict([('1111', {'location': 'Nakuru', 'uid': '1111'}), ('lkhsdfalsdkfh', {'designation': 'Operator', 'id': 2, 'location': 'Kisii', 'mobile': '0722112889', 'name': 'Njeri', 'uid': '2222'})])
Я пытался использовать
if thepassword in snapshot.values():
Но, похоже, это не дает мне правильного вывода.
2 ответа
Значение Operator
- это значение внутри одного из <▪вложенных словарей. Установив флажок in snapshot.values()
, вы проверяете, является ли это одним из < sizeskeys. Вам нужно будет сделать:
for d in snapshot.values():
if thepassword in d.values():
...
Первый полученный ответ хорош, если вам не нужно знать, где находится значение в snapshot
, а знать только то, что оно существует. Этот код возвращает кортеж с двумя ключами, необходимыми для перехода к искомому значению:
keys = None
for okey, oval in snapshot.items():
revDict = dict((v, k) for k, v in oval.items())
if 'Operator' in revDict:
keys = (okey, revDict['Operator'])
break
print(keys)
Результат:
('lkhsdfalsdkfh', 'designation')
Похожие вопросы
Новые вопросы
python
Python - это многопарадигмальный, динамически типизированный, многоцелевой язык программирования. Он разработан для быстрого изучения, понимания и использования, а также для обеспечения чистого и единообразного синтаксиса. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Тем не менее, для вопросов о Python, связанных с версией, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas и NumPy) включите его в теги.