SORU
8 Mart 2011, Salı


Nasıl Python jeneratör veya bir listeden ilk N öğeleri almak için?

ederim

var top5 = array.Take(5);

Nasıl Python ile bunu yapmak için?

CEVAP
8 Mart 2011, Salı


Bir jeneratör doğrudan Python dilim edemezsin. Bunu yapmak için bir yardımcı işlev olarak itertools.islice() kullanabilirsiniz. itertools.islice(generator, start, stop, step), jeneratör kısmen egzoz olacak Dilimleme Unutmayın. Eğer bütün jeneratör sağlam tutmak istiyorsanız, belki de dönüş demet veya bir liste ilk haline: result = tuple(generator)

Normal bir listesi için, sadece Dilimleme düzenli kullanabilirsiniz. my_list[start:stop:step] Atlayabilirsiniz "adım" ya da/bu dilim uygulamaları birinde durdurmak başlatın.

 my_list[:5] # grab the first five elements
 my_list[-5:] # grab the last five elements
           # (negative list indices start from the right side)

 import itertools
 itertools.islice(my_list, 0, 5) # grab the first five elements

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • EEVblog2

    EEVblog2

    2 HAZİRAN 2014
  • Howard Pinsky

    Howard Pinsk

    6 AĞUSTOS 2006
  • Menglong Tav

    Menglong Tav

    18 Temmuz 2010