【问题标题】:Break out of two loops and two if statements - Python [duplicate]打破两个循环和两个 if 语句 - Python [重复]
【发布时间】:2020-09-30 10:22:31
【问题描述】:

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

为此,我想将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

【问题讨论】:

  • 让它起作用并使用 return 语句,如果你想没有 break 语句
  • ticker 是关键吗?为什么要循环而不是直接查找?
  • @Sayse 看看代码,我很确定这不是真正的问题。

标签: python loops for-loop if-statement


【解决方案1】:

我假设ticker 包含您在两个字典中查找的键——循环遍历items() 基本上破坏了字典结构的全部目的。您可以直接通过键索引来查找值:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-03
    • 2016-04-10
    • 1970-01-01
    • 2015-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多