2017-08-18 15 views
0

Pythonとプログラミングに新しくなりました。 2つのAPI(1つはS & P 500の辞書の辞書からティッカーシンボルを引っ張り、もう1つは対応する時価総額データを引き出すためにyahoo_financeです)を使用して辞書を作成し、既存のデータを置き換えるために更新することができます。APIを含むforループ内の辞書を動的に作成

import sp500 
from yahoo_finance import Share 

tickers = {} 

for d in sp500: 
    for k, v in tickers.items(): 
     retrieveticker = d['symbol'] 
     yahoodata = Share(retrieveticker) 
     dict = {retrieveticker,yahoodata.get_market_cap(retrieveticker)} 
     tickers.update(dict) 

print tickers 

つまり、主な目標は、sp500企業のリストを下り、対応する時価総額を見つけ出し、ティッカーをキーにして時価総額を値として、辞書を作成することです。

ありがとうございました。それはこのように、代わりにセットの辞書を作成し、私はあなたが何をしたいと考えてい

+3

ディクテーションではなくセットを作成しています。 – Dekel

答えて

0

{}にあなたの項目をアンパックです。また

yahoo = {'key': 'value'} 
retrieveticker = {'key2': 'value2'} 
a_dict = {**retrieveticker, **yahoo} 
a_dict 
{'key': 'value', 'key2': 'value2'} 

、変数名にdictを使用しないでください。

私はyahoo_financeを持っていないが、これは、それはあなたのコード内でどのように見えるかです:

for d in sp500: 
    for k, v in tickers.items(): 
     retrieveticker = d['symbol'] 
     yahoodata = Share(retrieveticker) 
     a_dict = {**retrieveticker, **yahoodata.get_market_cap(retrieveticker)} 
     tickers.update(a_dict) 

retrievetickeryahoodata.get_market_cap(retrieveticker)は両方dictsあると仮定すると。

+0

クイックレスポンスありがとうございます。 retrievetickerはシンボルになるでしょう...だから、AAPL(sp500辞書から抜粋)と言うことができます。対応するAPI呼び出しでそのティッカーを使用します。理想的には、S&P企業500社全員をキーとし、それに対応する時価総額を価値として持つことを前提としています。 – Muricuda

+1

@Coryあなたはtickers.update(a_dict)を意味すると思います! –

+0

おっと、実際に私はしました。一定。 –

0

私はあなただけで、このような辞書に値を追加したいと考えている。代わりにあなたのためのループの各反復の最後に、あなたが持っている2つのライン

tickers[retrieveticker] = yahoodata.get_market_cap(retrieveticker) 

関連する問題