少々複雑な辞書型の呼び出し方

#Python用

個人的なメモ用に投稿します

oandaV20でaveragePriceを調べたいときに頭がこんがらがってしまい整理するために書いてみる

以下のコードのように複雑な辞書型があるとする

executions = {'lastTransactionID': '59',
             'positions': [{'commission': '0.0000',
                            'dividend': '0.0000',
                            'financing': '-0.0984',
                            'guaranteedExecutionFees': '0.0000',
                            'instrument': 'USD_JPY',
                            'long': {'dividend': '0.0000',
                                     'financing': '0.0000',
                                     'guaranteedExecutionFees': '0.0000',
                                     'pl': '-4.0000',
                                     'resettablePL': '-4.0000',
                                     'units': '0',
                                     'unrealizedPL': '0.0000'},
                            'marginUsed': '16.9422',
                            'pl': '-14.9970',
                            'resettablePL': '-14.9970',
                            'short': {'averagePrice': '105.911',
                                      'dividend': '0.0000',
                                      'financing': '-0.0984',
                                      'guaranteedExecutionFees': '0.0000',
                                      'pl': '-10.9970',
                                      'resettablePL': '-10.9970',
                                      'tradeIDs': ['53', '55', '57', '59'],
                                      'units': '-4',
                                      'unrealizedPL': '0.0800'},
                            'unrealizedPL': '0.0800'}]}

例:short以下にあるaveragePriceの値を呼びたい場合

print(executions['positions'][0]['short']['averagePrice'])

と打つと

'105.911'

と出る

書いてみるとなんてことない結果だったけど辞書型にリスト型がある場合は[0]も書く必要がある



この記事が気に入ったらサポートをしてみませんか?