ホームページ >バックエンド開発 >Python チュートリアル >Python を使用して文字列のリスト内の数値の合計を取得する

Python を使用して文字列のリスト内の数値の合計を取得する

WBOY
WBOY転載
2023-09-07 22:41:122670ブラウズ

Python を使用して文字列のリスト内の数値の合計を取得する

Python では、正規表現の使用、isdigital() とリスト内包表記の使用、分割と連結の使用など、さまざまな方法を使用して文字列リスト内の数値を合計できます。文字列を含むリストを操作する場合、これらの文字列から数値を抽出して合計する必要がある状況によく遭遇します。これは、テキスト ファイル、ログ ファイル、Web スクレイピングなどを操作する場合に特に便利です。この記事では、さまざまな例とアルゴリズムを使用して、これらの方法を理解します。

###アルゴリズム###

Python を使用して文字列のリスト内の数値の合計を求める一般的なアルゴリズムは次のとおりです:

    文字列のリストを入力として受け取る関数を定義します。
  • 文字列リスト内のすべての要素を文字列に連結します。
  • パターンまたはメソッドを適用して、文字列から数値を抽出します。
  • 抽出した値を整数に変換します。
  • 整数のリストを合計します。
  • 集計結果を戻り値として使用します。
  • 方法 1: 正規表現を使用する

正規表現は、文字列内のパターンを照合する効率的な方法を提供します。パターンを定義し、 re.findall() 関数を使用すると、文字列のリストからすべての値を抽出できます。これらの値は整数に変換され、合計されて最終結果が得られます。

###文法### リーリー

ここではリスト内包表記が使用されています

[int(num) for num in re.findall(pattern, ''.join(string_list))]

一致した文字列を整数に変換します。

Example の中国語訳は次のとおりです: Example

上の例では、3 つの要素を含む string_list があります。 string_list を引数として sum_numbers() 関数を呼び出します。正規表現パターン r"\d" は、リストの各要素内の 1 つ以上の数値と一致します。一致する数値はリスト内包表記を使用して抽出され、整数に変換されます。最後に、sum() 関数はこれらの数値の合計を計算します。

リーリー ###出力### リーリー

方法 2: isdigital() とリスト内包表記を使用する

このメソッドは、文字が数字であるかどうかを確認するために使用される

isdigital()

メソッドをリスト内包表記と組み合わせて使用​​します。文字列リスト内の各文字を反復処理し、数値以外の文字を除外することで、残りの数値を整数に変換できます。結果のリストを合計して、必要な合計を取得します。

###文法### リーリー

ここでは、リスト内包表記

[int(char) for item in string_list for char in item if char.isdigit()]

を使用して、string_list 文字の各要素を反復処理します。 isdigital() メソッドは、文字が数字であるかどうかを確認するために使用されます。

Example

の中国語訳は次のとおりです:

Example 以下の例では、前と同じ string_list があります。 string_list を引数として sum_numbers() 関数を呼び出します。リスト内包表記は、string_list の各要素の各文字を反復処理します。 isdigital() メソッドは、文字が数字であるかどうかをチェックし、数字である場合はそれを整数に変換します。次に、sum() 関数を使用して、結果の数値リストを合計します。 リーリー ###出力### リーリー 方法 3: 分割と結合を使用する

このメソッドでは、

join()

メソッドを使用して、文字列リストの要素が単一の文字列に連結されます。連結された文字列は単語のリストに分割されます。各単語を反復処理して数値以外の単語を除外することで、残りの単語を整数に変換できます。最後に、結果として得られた数値リストを合計して、目的の結果を取得します。

###文法### リーリー

ここでは、join() メソッドを使用して、

string_list

のすべての要素を文字列に連結します。

次に、split() メソッドを連結文字列に適用して、単語のリストに分割します。リスト内包表記

[int(num) for num in Numbers if num.isdigit()]

を使用して、数値リスト内の各要素を反復処理し、数値のみが含まれている場合は整数に変換します。 Example

の中国語訳は次のとおりです:

Example

次の例では、filter() 関数と

str.isdigit

をフィルター条件として使用し、文字列リストの各項目から数字だけを抽出します。次に、''.join() を使用してフィルタリングされた数値を結合し、int() を使用して結果を整数に変換します。 リーリー ###出力### リーリー ###結論は### この記事では、Python のさまざまなメソッドを使用して文字列のリスト内の数値の合計を見つける方法について説明しました。正規表現 (re) の使用、リスト内包表記での isdigital() メソッドの利用、分割および結合操作の 3 つの方法について説明しました。各方法には独自の利点があり、タスクの特定の要件に応じて使用できます。

以上がPython を使用して文字列のリスト内の数値の合計を取得するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。