Я не думаю, что - это идиоматический способ сделать это - не в последнюю очередь потому, что функция, которая ведет себя таким образом, сама по себе неидиоматична. Если вам нужно сделать это, я предлагаю вам просто использовать тот факт, что ваш двухэлементный список или кортеж является «истинным», а не «ложным» значением (это не терминология Python, но это полезно):
pair_or_false = get_key_value()
if pair:
key,value = val
else:
# handle failure in whatever way
Очевидная альтернатива - рассматривать не найденный случай как исключение:
try:
key,value = get_key_value()
except TypeError:
# deal with not-found case
но если вообще есть вероятность, что что-то кроме неудачной распаковки может вызвать ошибку TypeError, тогда вы рискуете замаскировать настоящую ошибку таким образом.