... alla ricerca di un equivalente in Python dict.get(key, default)per le liste
Esistono ricette itertools che lo fanno per iterabili generali. Per comodità, puoi > pip install more_itertoolse importare questa libreria di terze parti che implementa tali ricette per te:
Codice
import more_itertools as mit
mit.nth([1, 2, 3], 0)
# 1
mit.nth([], 0, 5)
# 5
Dettaglio
Ecco l'implementazione della nthricetta:
def nth(iterable, n, default=None):
"Returns the nth item or a default value"
return next(itertools.islice(iterable, n, None), default)
Ad esempio dict.get(), questo strumento restituisce un valore predefinito per gli indici mancanti. Si applica agli iterabili generali:
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