... ищу в 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)