2015-11-15 32 views
5

Python 3'te eski bir python dosyası oluşturmaya çalışırken Python 3'te yeniyim. Çözdüğüm birkaç yapı hatası var. Ama bu noktada hataların üstesinden geliyorum. Bunu nasıl düzelteceğimi bilmiyorum. Kod bölümü aşağıdakine benziyor. Yerleşik filter() function şimdi aynı işlevi sağlayan çünküPython 3, 'itertools' modülünde 'ifilter' özniteliği yok

return itertools.ifilter(lambda i: i.state == "IS", self.storage) 

cevap

9

itertools.ifilter() Python 3'te çıkarıldı.

Eğer (a try...except ImportError: bekçi sadece Python 2'de, bu nedenle kullanın) future_builtins module den Python 2 ve Python 3 hem çalışabilir kodu, kullanım ithalatı yazmak gerekirse:

try: 
    # Python 2 
    from future_builtins import filter 
except ImportError: 
    # Python 3 
    pass 

return filter(lambda i: i.state == "IS", self.storage) 
İlgili konular