С точки зрения производительности, есть 2 направления мысли.
1) Избегайте исключений, где это возможно, так как исключения являются дорогостоящими - то есть проверьте, прежде чем пытаться извлечь конкретный ключ из словаря, существует он или нет. На мой взгляд, лучше подходить, если есть все шансы, что он может не существовать. Это предотвратит довольно распространенные исключения.
2) Если вы уверены, что объект будет существовать там в 99% случаев, не проверяйте его наличие, прежде чем получить к нему доступ. В 1% случаев, когда его не существует, будет сгенерировано исключение, но вы сэкономили время для остальных 99% времени, не проверяя.
То, что я говорю, это оптимизировать для большинства, если есть четкое. Если существует какая-либо реальная степень неопределенности в отношении существующего элемента, проверьте перед извлечением.