Наиболее эффективным способом, вероятно, было бы получить A за одну итерацию на уровне C (используя filter
и next
), а затем сразу использовать его.
A = next(filter(B.__contains__, C), None)
if A is not None:
# Do something with A
else:
# Do something else