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

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

ただいまの
回答率

90.76%

  • Python 3.x

    5325questions

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

リストおよび辞書のキーの値のみを取り扱う方法

解決済

回答 2

投稿

  • 評価
  • クリップ 1
  • VIEW 244

ryuuu.ss

score 10

dic = {'あ':4, 'い':2, 'う':4, 'え':7, 'お':5}
list = [{'あ':2, 'い':3}, {'う':1, 'え':6},{'お':5}]

上のように辞書と辞書を要素にもつリストがあったとき、dicとlistのそれぞれのキー(あいうえお)の値を掛け算したいのですがどのようにしたらよいのでしょうか?
つまり、「あ」は4×2=8、「い」は2×3=6、「う」は4×1=4、「え」は7×6=42
、「お」は5×5=25のように計算したいです。

このようにやる方法はどのようにやれば良いのでしょうか?

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

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

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

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

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

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

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

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

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

+2

まずlistはリストクラスの名前なので上書きするのは良くないです。変数名には別の名前を使ってください。

listに入ってるdictionariesを1つのdictionaryにマージしてから、各キーについて掛け算をすればいいのではないでしょうか。

関連する情報
How to merge two dictionaries in a single expression?
Iterating over dictionaries using 'for' loops

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/11/21 16:00

    ご指摘ありがとうございます。
    参考にさせていただきました、回答ありがとうございますm(__)m

    キャンセル

checkベストアンサー

+1

まずは、リストや辞書の各要素へのアクセス(走査)方法を学びましょう。
python dict forpython list forで検索するとよいです。

以下は今回の目的を達成するための概念コードです。

d_src = {'あ':4, 'い':2, 'う':4, 'え':7, 'お':5}
dics = [{'あ':2, 'い':3}, {'う':1, 'え':6},{'お':5}]

# for ... dics内の各要素(=辞書)を走査するループ
    # for ... 1辞書内の各キーと値の組を走査するループ
        # d_srcから、キーに対応する値を探して(取得して) この辞書の値と掛ける

また、変数名としてstrlistdict は使わないようにしましょう。理由は以下に書かれています。
あまり良くない書き方 その1 変数名

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/11/21 16:02

    調べるのに時間がかかってしまいましたが、なんとかできました(^^;)
    ご指摘、アドバイスありがとうございましたm(__)m

    キャンセル

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

  • ただいまの回答率 90.76%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 受付中

    C#でdictionaryのvalueにkey毎に任意の型は使えますか?

    C#でdictionaryを使いたいのですが、keyによってvalueに任意の型を指定することは可能でしょうか? 例えば(C#の書き方ではありませんが) dic['na

  • 解決済

    【Objective-c】 JSON形式のデータの取得方法

    初歩的な質問だと思うのですが、ググって色々なソースを試してもうまくいかず、投稿する次第ですので、何卒よろしくお願いします。 【環境など】 Objective-C Xcod

  • 解決済

    swift 配列 入れ替え

    swiftの配列に付いて質問です。 var dic: [String] = ["a", "b", "c"] こういう配列があったとして、bとcを入れ替えるみたいなことは

  • 解決済

    C# Dictionary

    var dic = new Dictionary<string, int>(); for (int i = 0; i < 64; i++) { dic.Add($"C_{i

  • 解決済

    [Python2.7] ネストしたリストの同じ要素をグループ化する方法

    以下、よろしくお願いします。 下記のネストしたリスト(a)があり、それを出力として、 x = [["name1",[1,2,3],["name2",[4,5,6]]]

  • 解決済

    C#における多次元Listの作成方法

    C#において,2次元のリストを作りたいのですが,調べてもうまく実装できなかったので質問させていただきます. 具体的には, public class doubleListA{

  • 解決済

    python3 リストから辞書へ変換

    1.txtは冒頭&末尾に改行は有りません。 1.txt Apple リンゴ 5 orange 蜜柑 3 banana バナナ 2 strawberry 苺 3 peac

  • 解決済

    Pythonのrandomについて

    Pythonのrandomについての質問です。 ディクショナリーの中にある全てのキーをランダムで被り無く、出したいのですがどうすればよいでしょう。 全てのキーは dic

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

  • Python 3.x

    5325questions

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