私は以下の2つの例のようなリストを持つ辞書を持っています。Python - 辞書内のリスト項目の存在を確認する
some_json = {'speaking_tone': [{'speaking_id': 0, 'spoken_text': 'register my device', 'tones': []}]}
some_json = {'speaking_tone': [{'speaking_id': 0, 'spoken_text': 'So kind of you to help with the issue', 'tones': [{'tone_name': 'Polite'}]}]}
「トーン」内に値が存在するかどうかを確認し、その後の処理を行いたいとします。そうでない場合は、次の手順に進みます。私は以下を試して、彼らは常に範囲外のエラーのインデックスになります。
if len(some_json["speaking_tone"][0]["tones"][0]["tone_name"]) > 0:
あなたはより多くのガードが必要です。たとえば、最初の例では 'some_json [" speaking_tone "] [0] [" tones "] == []'というように、範囲外の例外のインデックスを取得します。 – jonrsharpe
最初の例が可能な場合、空の配列の0の位置を確認することはできません。 「音調」が空であるかどうか最初に確認し、そうでない場合は内容を確認する必要があります。 – fernand0