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

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による文字列操作をサポートしているため、日本語処理も標準で可能です。

解決済

リストの掛け算を同じリスト番号を除いて実行したいです。

chain_01
chain_01

総合スコア29

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による文字列操作をサポートしているため、日本語処理も標準で可能です。

2回答

0評価

0クリップ

106閲覧

投稿2022/07/05 11:50

前提

以下のようなリストがあります。

python

wx = [0.375, 0.3125, 0.3125]

実現したいこと

リストwxに格納されている数字をwx[p]*wx[q]のように掛け算したいです。
計算した値は空のリストを作成し、その中に入れました。
ここで、常に、wx[p]<wx[q]とします。今回は、p=0, 1, 2かつq =1, 2となります。
つまり、

python

wx[0]*wx[1] #p<qより wx[0]*wx[2] #p<qより wx[1]*wx[2] #p<qより

は計算したいです。
一方で、wx[0]*wx[0],wx[1]*wx[1],wx[2]*wx[2]などは除きたいです。

試したこと

今回、扱っているリストは小さいリストなので、極論、

python

wx = [0.375, 0.3125, 0.3125] print(wx[0]*wx[1]) print(wx[0]*wx[2]) print(wx[1]*wx[2]) #出力結果 0.1171875 0.1171875 0.09765625

とすれば、結果は出るのですが、リストの中に格納される数字が多くなった場合に対処できないので、for文を用いて、どんな大きさのリストでも対応できるようにしたいです。
このことを踏まえて私は以下のように考えました。

python

for num_1 in range(len(wx)): #0~2 for num_2 in range(len(wx[1:3])): #出力すると、1~2を想定していましたが、010101のようになってしまいました。 if num_1 == num_2: #等しかったら continue #スキップ else: wx_list.append(wx[num_1]*wx[num_2]) print(wx_list) #出力結果 [0.1171875, 0.1171875, 0.1171875, 0.09765625]

このようなコードを書くとなぜか
wx[0]*wx[1],wx[0]*wx[2],wx[1]*wx[2]の計算結果のほかに違う数字が出力されてしまいました。

良い質問の評価を上げる

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

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

評価が高い質問は、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による文字列操作をサポートしているため、日本語処理も標準で可能です。