2017-08-08 22 views
0

ご質問には申し訳ありません。私はちょうどコードを開始していると私は1時間の価格履歴を追跡する必要があります。Pythonで固定長のリストを常に更新するには?

リストがいっぱいになるまで毎秒プル値を3600のリストに入れておき、リストをそこから左に1つずつシフトすると、価格は一定に保たれます。

while True: 
 
    polo = exchange.returnTicker() 
 
    ethBtcRatio = polo["BTC_ETH"]['last'] 
 
    priceHistory = [] 
 
    ## What do I do here? Append? 
 
    time.sleep(1)

任意のアイデア?

+0

私は理解できない用語を使用しています。あなたはリストの最後に追加しようとしていますか?リストの最後に追加して、3600を超えるリストの最初の項目を削除しようとしていますか?どちらも簡単に検索可能です。 – dmcoding

答えて

0

新しいエントリを追加してリストの長さを確認し、条件付きでpriceHistory.pop(0)を追加することができます。

ループ内のpriceHistoryリストを初期化しているようです。あなたはループの前にそれをしたいので、毎回priceHistoryに空のリストを割り当てることにはなりません。

また、これは使用例にもよりますが、3600 Noneエントリの初期リストを作成してから、条件付き長さチェックを行わずに毎回追加してポップするだけです。

+0

これは本当にうまくいった。価格の歴史をどこに置くべきかについてのアドバイスをありがとう! –

+0

問題ありません。 Pythonの学習をお楽しみください! – JoshuaRLi

関連する問題