我是否应该创建一百万个队列(Python)

我是否应该创建一百万个队列(Python),python,queue,Python,Queue,作为一种爱好,我喜欢为日内交易者创建市场工具。我遇到了一个问题 我有一份股票清单 AAPL、M、AA….. 每隔15分钟,我循环检查我们将调用的c 如果c==True我想存储它,以便下次循环时可以对照它检查另一个条件 例如,使用上面的列表,假设AA满足条件c,我将AA与其他数据一起放入一个队列中,以便我可以签入下一个循环。 示例:(AA、价格、日期)。 在下一个循环中,我需要拉出股票代码,看看它是否匹配我当前正在处理的索引 苏多在这里 checkQueue=queue.queue() 列表中的股

作为一种爱好,我喜欢为日内交易者创建市场工具。我遇到了一个问题

我有一份股票清单
AAPL、M、AA…..

每隔15分钟,我循环检查我们将调用的
c

如果c==True
我想存储它,以便下次循环时可以对照它检查另一个条件

例如,使用上面的列表,假设
AA
满足条件
c
,我将
AA
与其他数据一起放入一个队列中,以便我可以签入下一个循环。
示例:
(AA、价格、日期)
。 在下一个循环中,我需要拉出股票代码,看看它是否匹配我当前正在处理的索引

苏多在这里

checkQueue=queue.queue()

列表中的股票代码: 如果c(): checkQueue.put(股票代码)

在下一个循环中,我从
AAPL
开始。这意味着我需要从队列中弹出,查看股票代码是否匹配。我知道我可以做如下事情
if-ticker=checkQueue.get()
checkQueue.put(股票代码)

尽管这样做意味着在它达到
AA
之前,我将获得并放置2次。如果我有10000只股票,可能是9999个get/puts


有没有一种方法可以让我只与与股票代码匹配的队列进行交互?我是否应该排10000个队列,并且只将我当前正在处理的某个对象放在tickers队列中?看起来有点傻,我觉得还有更好的办法

也许您需要set()的解决方案。第一个for循环仅迭代先前记录的股票

stocks = [AAPL, M, AA...]
check_later_set = set()
def run_every_15min(stocks):
    for stock in check_later_set:
        if not c(stock):
            check_later_set.remove(stock)

    for stock in stocks:
        if c(stock):
            check_later_set.add(stock)

在这个尺度上,“不要排队,就这么做吧”。谢谢你的建议。我才意识到这对我的案子不起作用。可能应该添加额外的信息。编辑我的帖子。。。。