我有從包依賴列表中收集的數據。如何從Python列表中篩選項目?
依賴:FOO酒吧巴茲> = 5.2
我結束了
d = set(['foo','bar','baz','>=','5.2'])
我不希望數字和操作數。
在Perl我會
@new = grep {/^[a-z]+$/} @old
,但我不能找到一種方法,例如傳遞remove()lambda或其他東西。
我來最接近的是醜陋:
[ item != None for item in [ re.search("^[a-zA-Z]+$",atom) for atom in d] ]
這讓我地圖,其中值超出設定我要的... 如果設定的順序重複?我知道在Perl哈希中並非如此。
我知道如何迭代。 :)我試圖做到這一點pythonesque正確的方式
看看這篇文章(這是你的問題的反向):http://stackoverflow.com/questions/1112444/perl-equivalent-of-python-list-comprehension/1112462 – Telemachus 2009-08-21 21:33:55
OT評論:用Python測試None的慣用方法是「is」。使用「item is not None」而不是「item!= None」 – 2009-08-22 17:13:06