プロが教えるわが家の防犯対策術!

はじめまして、python(というかプログラミング自体)を勉強し始めて間もないものです。

小さい参考書を読みながら勉強をしています。本に書いてあるコードを書きながらふと、ほかの辞書から値や、宣言した変数を持ってきて新しい辞書型に入れるにはどうしたらいいのかと思い質問させていただきます。
たとえば、
fruits_dict = {'apple':100,"orange":150}

kudamono = fruits_dict['orange']

furutsu_dict = {"ringo":110, "orenji:kudamono","banana":fruits_dict["apple"]}


としたいのですが、シンタックスエラーが出ます。
プログラミング初心者なので、意味不明なことを言っているかもしれませんが、趣旨はご理解いただけたでしょうか。

どうすればよいでしょうか。よろしくお願いいたします。

A 回答 (2件)

Syntax Errorでは、その前後にもっと詳しい内容が書いてあります。


また、エラーになった箇所を ^ で知らせてくれます。
"orenji:kudamono",
の終わりのカンマの下に ^ が表示されているのでは?


辞書の初期化は { キー:値, キー:値, .... }

キー : 値
のセットをカンマで継げたような書式になります。
ところが
"orenji:kudamono"
は「ただの文字列」です。キーと値に分かれていません。



なお。
Pythonでは、ダブルクオーテーション( " ) とシングルクオーテーション( ' ) とで違いは(ほとんど)ありません。
違いは、
・ " で囲った文字列には " 自身を直接書くことはできない(\"等とする等の工夫が必要)だが ' は直接書ける
・ 'はその逆
ということだけです。
    • good
    • 1

>どうすればよいでしょうか。


下記のように修正すると通るかと思います。

・fruits_dict = {'apple':100,"orange":150}
→ fruits_dict = {"apple":100,"orange":150}

・kudamono = fruits_dict['orange']
→ kudamono = fruits_dict["orange"]

・ furutsu_dict = {"ringo":110, "orenji:kudamono","banana":fruits_dict["apple"]}
→furutsu_dict = {"ringo":110, "orenji":kudamono, "banana":fruits_dict["apple"]}

辞書型のキー値はシングルクォーテーションではなくダブルクォーテーションが正しいです。

シンタックスエラーというのは、プログラムの構文がおかしい時に出るエラーです。
このエラーが出た際には、構文の書き方がおかしくないかを確認してみましょう。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!