Bunu yapmanın daha karmaşık bir yolu var mı?Sonraki n yinelemeleri atayın
node = next(iterable), next(iterable), next(iterable)
Bunu yapmanın daha karmaşık bir yolu var mı?Sonraki n yinelemeleri atayın
node = next(iterable), next(iterable), next(iterable)
Yinelenen öğelerden seçmek için itertools.islice
kullanabilirsiniz. Yineleyicilerin yinelenebilir olduklarını, ancak her yinelenebilirin bir next
(veya Python3'te __next__
) yöntemiyle yineleyici olmadığını unutmayın. Alternatif
>>> from itertools import islice
>>> iterator = (x for x in ('a', 'b', 'c', 'd', 'e'))
>>> tuple(islice(iterator, 3))
('a', 'b', 'c')
, basit bir anlama:
>>> iterator = (x for x in ('a', 'b', 'c', 'd', 'e'))
>>> tuple(next(iterator) for _ in range(3))
('a', 'b', 'c')
adı _
(son çalıştırılan ifadenin sonucunu saklayan interaktif oturumlar, dışında) tercüman için özel bir anlamı vardır ama fark edilir Python programcıları tarafından bir throwaway değişkeninin adı olarak.