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

  • Rayone GB

    Rayone GB

    14 Temmuz 2007
  • superemposed

    superemposed

    25 Aralık 2007
  • WePlayWeWatch

    WePlayWeWatc

    3 Temmuz 2013