実際のケース:
1.負リスティング濾別した、3,9、-1,10,20 -2 ..]で
2.辞書ふるい{ 'LiLei':79、 'ジム':88 'ルーシー' ... 92}の値は、エントリ90未満であります
3.集合{77,89,32,20} ..全体素子3が出することができるスクリーニング
---最も一般的な方法は、ループの反復のために、もしフィルタープラスを決定します
例えば:
質問をお書きください:Pythonで非常に冗長で、効率が非常に悪いです!
ソリューション---
リスト
列子:
リスト内包:
「'」
フィルタ関数
(、)フィルタを二つのパラメータ、受信
匿名関数の作成通常ラムダと、フィルタ関数通過最初に、
パラメータxをとるフィルタ関数を、xが各リストにある、反復要素
ブール値、ブール値がfalseを返し、要素は破棄されます
2番目の引数がリストをフィルタリングすることです
フィルタ
python2.7で、直接リストを返します。
これは、ジェネレータオブジェクトを返しますのpython3で
のpython3は、リスト内の正しい結果を得る場合には、それが必要である:
直接リストビルダに、ジェネレータオブジェクト
**ビルダー次は、再作成する必要が消費されている場合、オブジェクトは、1回限りであります
要約:
より高速な推奨リスト内包、よりシンプル、関数オブジェクトを作成する必要はありません、
辞書:
セット