Quantas vezes você escreveu algo assim:
session = None
for s in scan['sessions']:
if s['id'] == id:
session = s
break
Aqui está uma boa linha para substituir isso:
next((s for s in sessions if s['id'] == id), None)
O None
é o valor padrão caso nada seja encontrado.
A compreensão da lista é preguiçosa, então, como um bom efeito colateral, ela apenas percorrerá / gerará a lista até onde for necessário.