ホームページ > バックエンド開発 > Python チュートリアル > 質問と回答のペアの入力行を分割するときに ValueError を処理する方法は?

質問と回答のペアの入力行を分割するときに ValueError を処理する方法は?

Susan Sarandon
リリース: 2024-11-15 01:23:02
オリジナル
926 人が閲覧しました

How to Handle ValueError When Splitting Input Lines for Question-Answer Pairs?

質問と回答のペアの入力行を分割する

入力行を複数の変数に分割すると、必要性を示す ValueError が発生する場合があります。解凍する値の増減に応じて。この問題は、分割される行に、split メソッドで使用される区切り文字が含まれていない場合に発生します。

具体的には、提供されたコードでは、入力ファイルの各行がコロン (:) で分割されます。行にコロンが含まれていない場合、または複数のコロンが含まれている場合、分割メソッドは失敗します。

値エラーの原因

  • 値が少なすぎます: 入力行にコロンが含まれていない場合、split メソッドは単一の空の文字列を含むリストを返します。このリストを複数の変数 (質問、回答など) に割り当てると、解凍するのに十分な値がないため、ValueError が発生します。
  • 値が多すぎます: 行に複数のコロンが含まれている場合、 Split メソッドは、予想よりも多くの要素を含むリストを返します。このリストを複数の変数に割り当てると、解凍する値が多すぎるため、ValueError が発生します。

解決策

この問題を解決するには、次のことができます。分割する前に入力行に予想される数の値が含まれているかどうかを確認します:

with open('qanda.txt', 'r') as questions_file:
    for line in questions_file:
        line = line.strip()
        if ':' in line:
            questions, answers = line.split(':')
            questions_list.append(questions)
            answers_list.append(answers)
ログイン後にコピー

このチェックでは、行を分割する前に行にコロンが含まれていることを確認します。行にコロンが含まれていない場合は無視され、ValueError が発生しなくなります。

以上が質問と回答のペアの入力行を分割するときに ValueError を処理する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート