私は文字列のリストを持っていますが、その中に 'http://'が含まれている行はすべて 'lulz'、 ' lmfao '、' .png '、またはその中の文字列のリスト内の他の項目を削除します。私はこれについてどうやって行くのですか?文字列にPythonの文字列のリストが含まれていない場合
私の本能は私に正規表現を使用するように指示しますが、私は魔法に道徳的な反対をしています。あなたのオプションをより柔軟に必要がある場合は、
for s in strings:
if 'http://' in s and not 'lulz' in s and not 'lmfao' in s and not '.png' in s:
# found it
pass
その他のオプション:
恐ろしい!私はラムダを使うようになる!私はそれが何らかの理由で存在していることを知っていました! – directedition
あなたはそうする必要はありません。 'lambda'は変数' filter_func'を設定するのではなく、関数をインラインで定義することを可能にします。しかし、あなたは 'def filter_func(s) 'と同じように簡単に書くことができます:' http:// 'を' s 'に返します。関数はオブジェクトであることを忘れないでください。 –
私はこれが 'lambda 'の不適切な使用であると言うことさえあります。ここではそれを 'def'にする方が良いでしょう。 – wim