SORU
11 Kasım 2010, PERŞEMBE


verimli dairesel tampon?

Python (tampon tamsayı değerlerin ortalamasını alma amacı ile) circular buffer etkili oluşturmak istiyorum.

Bu verimli bir şekilde değerleri toplamak için bir liste kullanmak için mi?

def add_to_buffer( self, num ):
    self.mylist.pop( 0 )
    self.mylist.append( num )

Daha verimli (ve neden) ne olurdu?

CEVAP
11 Kasım 2010, PERŞEMBE


maxlen arg collections.deque kullanırdım

>>> import collections
>>> d = collections.deque(maxlen=10)
>>> d
deque([], maxlen=10)
>>> for i in xrange(20):
...     d.append(i)
... 
>>> d
deque([10, 11, 12, 13, 14, 15, 16, 17, 18, 19], maxlen=10)

Ne istiyorsun benzer deque docs recipe var. En verimli olduğunu iddia benim tamamen birinci sınıf kod marş dışarı alışkanlığı son derece yetenekli bir ekip tarafından C uygulanan bu gerçeğine dayanmaktadır.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • DavidParody

    DavidParody

    17 EKİM 2009
  • gadgetgal38

    gadgetgal38

    9 HAZİRAN 2009
  • paulandstorm

    paulandstorm

    4 EYLÜL 2006