Использование try vs if в python

Есть ли обоснование, чтобы решить, какой изtry или жеif конструкции для использования при тестировании переменной, чтобы иметь значение?

Например, есть функция, которая возвращает список или не возвращает значение. Я хочу проверить результат перед его обработкой. Что из следующего будет более предпочтительным и почему?

result = function();
if (result):
    for r in result:
        #process items

или же

result = function();
try:
    for r in result:
        #process items
except TypeError:
    pass;
Связанное обсуждение:

Проверка существования члена в Python

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

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