... ищу в Python эквивалент dict.get(key, default)для списков
Есть рецепты itertools, которые делают это для общих итераций. Для удобства вы можете > pip install more_itertoolsимпортировать и эту стороннюю библиотеку, которая реализует для вас такие рецепты:
Код
import more_itertools as mit
mit.nth([1, 2, 3], 0)
mit.nth([], 0, 5)
Деталь
Вот реализация nthрецепта:
def nth(iterable, n, default=None):
"Returns the nth item or a default value"
return next(itertools.islice(iterable, n, None), default)
Мол dict.get(), этот инструмент возвращает значение по умолчанию для отсутствующих индексов. Это применимо к общим итерациям:
mit.nth((0, 1, 2), 1)
mit.nth(range(3), 1)
mit.nth(iter([0, 1, 2]), 1)