Сильно ногами не бейте, вопрос, по моему довольно глупый, но я не понимаю почему не правильно работает мой код.
Я написал функцию (мне нужно много раз в моей работе проверять наличие каких-либо ключей для какого-либо юзера). Для этого я написал функцию, к которой собирался просто постоянно обращаться:
Вот мой словарь:
files = {12345: {'photo': 'asd'}}
def see_key(key1, key2=None,):
if key1 in files:
user_key = True
if key2 is files[key1]:
user_key_key = True
else:
user_key_key = False
else:
user_key = False
user_key_key = False
result = [user_key, user_key_key]
return result
и сделал такую штучку, которая в зависимости от ответа создаёт словарь или добавляет в словарь ключ со значением:
see_key = see_key(12345, key2='photo')
print(see_key)
if see_key[0] is True and see_key[1] is False:
files[12345].update({'photo': {'doc': None, 'license1': None, 'license2': None}})
elif see_key[0] is False and see_key[1] is False:
files[12345] = {'photo': {'doc': None, 'license1': None, 'license2': None}}
print(files)
В итоге, по моему ключу должно быть значение [True, True], но почему-то выдаёт значение [True, False], из-за чего оно делает апдейт ключа, который не нужно трогать