Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonでリスト内の数値を合計する方法(文字列型の数値を含む)

このチュートリアルでは、リスト内のすべての数値を合計するプログラムを作成します。リストには整数型だけでなく、文字列形式の数値も混在している場合があります。まずは以下の例を見てみましょう。

入力例

random_list = [1, '10', 'tutorialspoint', '2020', 'tutorialspoint@2020', 2020]

出力例

4051

プログラムは、以下の手順に従って作成します。

  • リストを初期化します。
  • 変数 total を 0 で初期化します。
  • リストを反復処理します。
  • 要素が数値であるかどうかを、次の2つの条件で判定し、total に加算します。
    • 要素が int 型である場合 → isinstance() で型をチェックします。
    • 要素が文字列形式の数値である場合 → isdigit() メソッドでチェックします。
  • 合計値を出力します。

サンプルコード

# リストの初期化
random_list = [1, '10', 'tutorialspoint', '2020', 'tutorialspoint@2020', 2020]
# 変数 total の初期化
total = 0
# リストの反復処理
for element in random_list:
   # 数値かどうかを判定
   if isinstance(element, int) or element.isdigit():
      # 要素を total に加算
      total += int(element)
# 合計を出力
print(total)

実行結果

上記のコードを実行すると、次の結果が出力されます。

4051

ポイント解説

このコードでは、isinstance(element, int) によって要素が整数型かどうかを確認し、そうでない場合は element.isdigit() で文字列が数字のみで構成されているかを判定しています。これにより、「tutorialspoint」や「tutorialspoint@2020」のような数値以外の文字列は自動的にスキップされ、純粋な数値だけが合計されます。文字列形式の数値は int() 関数で整数に変換してから加算している点にも注目してください。

まとめ

isinstance() と isdigit() を組み合わせることで、整数型と文字列型が混在するリストから安全に数値だけを抽出して合計できます。本チュートリアルについて不明な点がある場合は、コメント欄でお気軽にお知らせください。

  1. Pythonのリストにインデックスを使って要素を追加する方法

    Pythonのリスト(list)は、順序付けられており変更可能なコレクション型データです。重複した要素も許容するため、Pythonプログラムで最も頻繁に使われるデータ型の一つとなっています。本記事では、インデックス機能を活用してリストに要素を追加する方法を解説します。要素を追加する前に、まずインデックスを使ってリスト内の要素にアクセスする基本的な方法を確認しておきましょう。インデックスを使ったリスト要素へのアクセスリスト内のすべての要素にはインデックスが割り当てられており、これによって要素の順序が保たれています。インデックスを指定することで、任意の位置にある要素へアクセスできます。スライス表記

  2. Pythonでリスト内の要素の合計を求める3つの方法

    この記事では、Pythonでリスト(イテラブル)内の全要素の合計値を計算する方法について解説します。問題の概要与えられたリストの各要素を足し合わせ、その合計値を求めることが目的です。本記事では、以下の3つのアプローチを順番に紹介します。forループを使用する方法whileループを使用する方法再帰関数を使用する方法方法1:forループを使用するrange()関数でインデックスを生成しながらリストを反復処理し、各要素を順番に加算していきます。コード例# 合計を保持する変数 total = 0 # リストを作成 list1 = [11, 22, 33, 44, 55, 66] # リストを反復処理