【问题标题】:How to constantly update a list of fixed length in python?如何在python中不断更新固定长度的列表?
【发布时间】:2018-01-16 07:04:39
【问题描述】:

对不起,菜鸟问题。我刚刚开始编码,我需要跟踪 1 小时的价格历史记录。

我希望每秒将值拉入一个大小为 3600 的列表,直到列表被填满,然后从那里开始每秒将列表向左移动,这样价格就会保持不变。

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

有什么想法吗?

【问题讨论】:

  • 您使用了一些我不懂的术语。您只是想添加到列表的末尾吗?如果超过 3600,您是否尝试添加到列表的末尾并删除列表的第一项?这两个都很容易搜索。

标签: python python-2.7 list


【解决方案1】:

您可以附加每个新条目,然后检查列表的长度并有条件地检查priceHistory.pop(0)

看起来您正在循环中初始化priceHistory 列表。您想在循环之前执行此操作,因此您不会每次都将空列表分配给 priceHistory

或者,这取决于用例,您可以创建一个包含 3600 个 None 条目的初始列表,然后每次只追加并弹出而不进行条件长度检查。

【讨论】:

    猜你喜欢
    • 2021-07-04
    • 2016-10-07
    • 1970-01-01
    • 2017-04-08
    • 1970-01-01
    • 2012-06-29
    • 1970-01-01
    • 2016-05-14
    相关资源
    最近更新 更多