質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Visual Studio Code

Visual Studio Codeとは、Microsoft社が開発したマルチプラットフォーム対応のテキストエディタです。Visual Studioファミリーの一員でもあります。拡張性とカスタマイズ性が高く、テキストエディタでありながら、IDEと遜色ない機能を備えることができます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

解決済

data_1とdata_2[0]~data_2[5]を掛け算して和を求めたいです。

chain_01
chain_01

総合スコア23

Visual Studio Code

Visual Studio Codeとは、Microsoft社が開発したマルチプラットフォーム対応のテキストエディタです。Visual Studioファミリーの一員でもあります。拡張性とカスタマイズ性が高く、テキストエディタでありながら、IDEと遜色ない機能を備えることができます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

3回答

0評価

2クリップ

254閲覧

投稿2022/06/21 19:08

前提として
まず、以下のような二次元リストがあります。

python

data_1 = [1, 2, 3] data_2 = [[-5, -1, -1], [3, 3, -1], [-3, -3, 6]]

実現したいこと
上手に説明できないのですが、上記のリストを用いて下記のような計算を行いたいです。

python

data_1[0]*data_2[0][0] + data_1[0]*data_2[0][1] + data_1[0]*data_2[0][2] =1*(-5) + 1*(-1) + 1*(-1) = -7 data_1[1]*data_2[0][0] + data_1[1]*data_2[0][1] + data_1[1]*data_2[0][2] =2*(-5) + 2*(-1) + 2*(-1) = -14 data_1[2]*data_2[0][0] + data_1[2]*data_2[0][1] + data_1[2]*data_2[0][2] =3*(-5) + 3*(-1) + 3*(-1) = -21 data_1[0]*data_2[1][0] + data_1[0]*data_2[1][1] + data_1[0]*data_2[1][2] =1*3 + 1*3 + 1*(-1) = 5 data_1[1]*data_2[1][0] + data_1[1]*data_2[1][1] + data_1[1]*data_2[1][2] =2*3 + 2*3 + 2*(-1) = 10 data_1[2]*data_2[1][0] + data_1[2]*data_2[1][1] + data_1[2]*data_2[1][2] =3*3 + 3*3 + 3*(-1) = 15 data_1[0]*data_2[2][0] + data_1[0]*data_2[2][1] + data_1[0]*data_2[2][2] =1*(-3) + 1*(-3) + 1*6 = 0 data_1[1]*data_2[2][0] + data_1[1]*data_2[2][1] + data_1[1]*data_2[2][2] =2*(-3) + 2*(-3) + 2*6 = 0 data_1[2]*data_2[2][0] + data_1[2]*data_2[2][1] + data_1[2]*data_2[2][2] =3*(-3) + 3*(-3) + 3*6 = 0

出力結果としては、

python

data_3 = [[-7, -14, -21],[5, 10, 15],[0, 0, 0]]

という風に得たいです。

実践したこと

python

data_1 = [1, 2, 3] data_2 = [[-5, -1, -1], [3, 3, -1], [-3, -3, 6]] datann = 0 Data = [] for data in range(len(data_1)): for datan in range(len(data_2)): datann += data_1[data]*data_2[datan] Data.append(datann) print(Data) #出力結果 #datann += data_1[data]*data_2[datan] #TypeError: unsupported operand type(s) for +=: 'int' and 'list'

出力結果が”TypeError: unsupported operand type(s) for +=: 'int' and 'list'”となってしまいました。
おそらく、data_2は二次元リストなのにdata_2[datan]としているのがエラーの原因だと考えられます。
そこで、以下のようにコードを書き換えました。

python

data_1 = [1, 2, 3] data_2 = [[-5, -1, -1], [3, 3, -1], [-3, -3, 6]] datann = 0 Data = [] for data in range(len(data_1)): for datan in range(len(data_2)): datann += data_1[data]*data_2[datan][datan] Data.append(datann) print(Data) #出力結果 #[-5, -2, 4, -6, 0, 12, -3, 6, 24]

このようになり、エラーは表示されなくなったのですが得たい結果と違うものが出てしまってここで行き詰っています。よろしくお願いいたします。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Visual Studio Code

Visual Studio Codeとは、Microsoft社が開発したマルチプラットフォーム対応のテキストエディタです。Visual Studioファミリーの一員でもあります。拡張性とカスタマイズ性が高く、テキストエディタでありながら、IDEと遜色ない機能を備えることができます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。