Словарь ключей Python. «В» сложность

Быстрый вопрос, чтобы в основном удовлетворить мое любопытство по теме.

Я пишу несколько больших программ на Python с базой данных SQlite и буду иметь дело с большим количеством записей в будущем, поэтому мне нужно оптимизировать как можно больше.

По нескольким функциям я ищу ключи в словаре. Я использовал ключевое слово «in» для создания прототипа и планировал вернуться и оптимизировать эти поиски позже, поскольку я знаю, что ключевое слово «in» обычно O (n) (так как это просто переводит на python итерацию по всему списку и сравнение каждый элемент). Но, поскольку python dict - это просто хэш-карта, достаточно ли он интерпретатор Python для интерпретации:

if(key in dict.keys()):
    ...code...

чтобы:

if(dict[key] != None):
    ...code...

Это в основном та же операция, но сверху будет O (n), а снизу будет O (1).

Мне легко использовать нижнюю версию в моем коде, но тогда мне было просто любопытно, и я решил спросить.

Ответы на вопрос(4)

Ваш ответ на вопрос