脱离两个循环和两个if语句-Python

问题描述

我有一段代码用于查找字典中的键值。我正在使用当前的方法,但是我正在尝试加快脚本的执行速度。

为此,我想将if ticker in tick:移动到for tick in Trades_dic["Ticker"].items():之后。目的是通过消除检查所有组合的需要来加快此元素的运行。

下面的代码完整部分,将非常感谢您的帮助。 :)

    for tick in Trades_dic["Ticker"].items():
        for stat in Trades_dic["Status"].items():
            if ticker in tick and "Open" in stat:
                (tick_k,tick_val) = tick
                (stat_k,stat_val) = stat
                if tick_k == stat_k:
                    (active_k,v) = tick
                    break
        else:
            continue
        break

解决方法

我假设ticker包含您要在两个字典中查找的键-遍历items()基本上会破坏字典结构的整个目的。您可以直接通过以下键进行索引来查找值:

tick_val = trades_dic["Ticker"][ticker]
stat_val = trades_dic["Status"][ticker]
if stat_val == "Open":
    # do stuff with tick_val