ここで覚えておくべきことは、は、の表記であり、その目的は、値リスト内包表作成リストの作成、辞書内包表記の作成、および内包表記セットの作成です。このようなオブジェクトを作成していないため、このケースではほとんど役に立ちません。
を実行していないためコードサンプルが不完全ですval_from_line
値を抽出したものはすべてです。私はSTRINGS_TO_MATCH
の文字列のいずれかを含むline
から最後の "単語"を抽出したいと思っていますが、このような不完全な情報を扱うのは難しいので、私の知っている限り、全く役に立たないでしょう。
私が正しいんだと仮定すると、line
はSTRINGS_TO_MATCH
のいずれかが含まれているかどうかを確認する最も簡単な方法は、これはと類似している、いわゆるジェネレータ式を、使用して表現
any(s in line for s in STRINGS_TO_MATCH)
を使用することですリストの理解 - インタプリタは一連の値を生成するために反復することができますが、値のリストを作成するのではなく、クライアントコードとして作成します(この場合はany
ビルトイン関数)がそれらを要求します。だから、私はこのコードを実行した後val_from_line
がかかどうかに応じて、(存在しない場合があることを警告ノートで、あなたが実際にその後何をしたいのかを決定するためにあなたを残しておきます
if any(s in line for s in STRINGS_TO_MATCH):
val_from_line = line.split(' ')[-1]
ようにコードを書き換える可能性があります条件は真実ではない)、これは決して完全に快適な状況ではない。
「ライン」とは何ですか? –
また、 'val_from_line'はリストになっていますか? –
各入力ファイルには100sのランダムな線があります。私はファイルを繰り返しているので、各行が含まれています。 val_from_lineには、ファイルの特定のフィールドも含まれます。 – Shibby