... pitonun bir eşdeğer arayan dict.get(key, default)
listeleri için
Genel tekrarlanabilirler için bunu yapan bir itertools tarifleri vardır. Kolaylık sağlamak için şunları yapabilirsiniz:> pip install more_itertools
için bu tarifleri uygulayan bu üçüncü taraf kütüphanesini içe aktarabilir ve içe aktarabilirsiniz:
kod
import more_itertools as mit
mit.nth([1, 2, 3], 0)
# 1
mit.nth([], 0, 5)
# 5
detay
nth
Tarifin uygulanması :
def nth(iterable, n, default=None):
"Returns the nth item or a default value"
return next(itertools.islice(iterable, n, None), default)
Gibi dict.get()
, bu araç eksik endeksler için bir varsayılan döndürür. Genel tekrarlanabilirler için geçerlidir:
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