SORU
29 Mayıs 2010, CUMARTESİ


Python: Uygulama __Dilimleme getıtem__

İşlevsellik vektör gösterimi oluşturur yapıyorum bir sınıf için dilim kullanmaya çalışıyorum.

V python yeterince parametreleri olmaması ile ilgili bir hata döndürür bir vektör olduğu doğru dilim uygulayacak ama v[4] gibi bir arama yaptığım zaman inanıyorum ki bu kod şimdiye kadar, var. Hem düz dizinleri işlemek için getitem sınıfı tanımlamak için nasıl anlamaya çalışıyorum ve Dilimleme ediyorum.

def __getitem__(self, start, stop, step):
    indx = start
    if stop == None:
        end = start   1
    else:
        end = stop
    if step == None:
        stride = 1
    else:
        stride = step
    return self.__data[indx:end:stride]

CEVAP
29 Mayıs 2010, CUMARTESİ


__getitem__() yöntem nesnenin dilimlenmiş slice bir nesne alacaksınız. Dilim için bileşenleri almak için sadece slice nesne*,* 8*,* 7 step üyeleri bak.

>>> class C(object):
...   def __getitem__(self, val):
...     print val
... 
>>> c = C()
>>> c[3]
3
>>> c[3:4]
slice(3, 4, None)
>>> c[3:4:-2]
slice(3, 4, -2)
>>> c[():1j:'a']
slice((), 1j, 'a')

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • FrankJavCee

    FrankJavCee

    29 Kasım 2008
  • Muse

    Muse

    28 EYLÜL 2006
  • Shantanu Sood

    Shantanu Soo

    3 Kasım 2008