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

  • Jesse Pimenta

    Jesse Piment

    5 EKİM 2011
  • Mindy

    Mindy

    20 NİSAN 2006
  • The Amazing Atheist

    The Amazing

    20 Kasım 2006