... шукає еквівалент у python dict.get(key, default)для списків
Є рецепти itertools, які роблять це для загальних ітерабелів. Для зручності можна> pip install more_itertools імпортувати цю сторонню бібліотеку, яка реалізує такі рецепти для вас:
Код
import more_itertools as mit
mit.nth([1, 2, 3], 0)
# 1
mit.nth([], 0, 5)
# 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) # tuple
# 1
mit.nth(range(3), 1) # range generator (py3)
# 1
mit.nth(iter([0, 1, 2]), 1) # list iterator
# 1