2010-09-04 20 views

cevap

57
filter(r.match, list) 
+0

Aslında, liste genellikle vb filtre, azaltmak, lambda, –

+22

@Ivo gibi fonksiyonel yapıları üzerinde tercih edilir Genellikle tercih edilir çünkü genellikle daha açık ve genellikle daha özlüdürler. Bununla birlikte, bu durumda, 'filtre' versiyonu tamamen açıktır ve çok daha az gürültüye sahiptir. – sepp2k

32

Tam Örnek:

import re 
mylist = ["dog", "cat", "wildcat", "thundercat", "cow", "hooo"] 
r = re.compile(".*cat") 
newlist = filter(r.match, mylist) 
print str(newlist) 

Baskılar:

['cat', 'wildcat', 'thundercat'] 
+3

Merhabalar, Yukarıdaki kodu çalıştırdığımda, '' ı yanlış yapıyorum? – Joshua

+1

Python belgelerine göre (python 2.7.12): https://docs.python.org/2/library/functions.html#filter filtresi, bir nesne olmayan bir liste döndürür. Ayrıca şu kodu da kontrol edebilirsiniz: https://repl.it/X3G/5786 (sadece isabet) – Mercury

+1

Teşekkür ederiz. Mac üzerinde Python 3.5.2 kullanıyorum. Bağlantını denedim. Tabii ki işe yaramazsa da, neden bu msg'yi aldığımı bilmiyorum. Hatta 'filtre 'bir liste döndürdüğü için bile' str 'kaldırdı, boşuna ... – Joshua