Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 您将如何抽象这一系列列表继续条件?_Python_Iteration - Fatal编程技术网

Python 您将如何抽象这一系列列表继续条件?

Python 您将如何抽象这一系列列表继续条件?,python,iteration,Python,Iteration,我有一些源代码,其中有一些条件会导致跳过当前列表迭代的其余部分: for name, row in recent.iteritems(): if name in ignore: print name + "is on ignore list. Skipping." continue if number_of_open_orders_in(name) == max_orders_per_market: print name + "h

我有一些源代码,其中有一些条件会导致跳过当前列表迭代的其余部分:

for name, row in recent.iteritems():
    if name in ignore:
        print name + "is on ignore list. Skipping."
        continue

    if number_of_open_orders_in(name) == max_orders_per_market:
        print name + "has max number of open orders. Skipping."
        continue

    if row[0].ask < 100e-8:
        print name + "is a single or double satoshi coin. Skipping."
        continue

    gain.append(
        (
            name,
            percent_gain(row[0].ask, row[1].ask),
            row[1].ask,
            row[0].ask,
            'https://bittrex.com/Market/Index?MarketName={0}'.format(name),
        )
    )
对于名称,最近的.iteritems()中的行:
如果忽略中的名称:
打印名称+“在忽略列表上。正在跳过。”
持续
如果(名称)中的未结订单数量=每个市场的最大订单数量:
print name+“具有最大未结订单数。正在跳过。”
持续
如果行[0],则询问<100e-8:
print name+“是一枚或两枚satoshi硬币。正在跳过。”
持续
增益附加(
(
名称
增益百分比(第[0]行。询问,第[1]行。询问),
第[1]行。询问,
第[0]行。询问,
'https://bittrex.com/Market/Index?MarketName={0}.格式(名称),
)
)
如您所见,代码非常规则。每个跳过的原因

  • 根据
    名称
  • 如果测试返回
    True
    • 打印消息
    • 跳过当前循环迭代

  • 以下是删除冗余后的代码:

    for name, row in recent.iteritems():
        if name in ignore:
            print name + "is on ignore list. Skipping."
    
        elif number_of_open_orders_in(name) == max_orders_per_market:
            print name + "has max number of open orders. Skipping."
    
        elif row[0].ask < 100e-8:
            print name + "is a single or double satoshi coin. Skipping."
    
        else:
            gain.append(
                (
                    name,
                    percent_gain(row[0].ask, row[1].ask),
                    row[1].ask,
                    row[0].ask,
                    'https://bittrex.com/Market/Index?MarketName={0}'.format(name),
                )
            )
    
    对于名称,最近的.iteritems()中的行:
    如果忽略中的名称:
    打印名称+“在忽略列表上。正在跳过。”
    elif(名称)=每个市场的最大订单数:
    print name+“具有最大未结订单数。正在跳过。”
    elif行[0]。询问<100e-8:
    print name+“是一枚或两枚satoshi硬币。正在跳过。”
    其他:
    增益附加(
    (
    名称
    增益百分比(第[0]行。询问,第[1]行。询问),
    第[1]行。询问,
    第[0]行。询问,
    'https://bittrex.com/Market/Index?MarketName={0}.格式(名称),
    )
    )
    
    以下是删除冗余的代码:

    for name, row in recent.iteritems():
        if name in ignore:
            print name + "is on ignore list. Skipping."
    
        elif number_of_open_orders_in(name) == max_orders_per_market:
            print name + "has max number of open orders. Skipping."
    
        elif row[0].ask < 100e-8:
            print name + "is a single or double satoshi coin. Skipping."
    
        else:
            gain.append(
                (
                    name,
                    percent_gain(row[0].ask, row[1].ask),
                    row[1].ask,
                    row[0].ask,
                    'https://bittrex.com/Market/Index?MarketName={0}'.format(name),
                )
            )
    
    对于名称,最近的.iteritems()中的行:
    如果忽略中的名称:
    打印名称+“在忽略列表上。正在跳过。”
    elif(名称)=每个市场的最大订单数:
    print name+“具有最大未结订单数。正在跳过。”
    elif行[0]。询问<100e-8:
    print name+“是一枚或两枚satoshi硬币。正在跳过。”
    其他:
    增益附加(
    (
    名称
    增益百分比(第[0]行。询问,第[1]行。询问),
    第[1]行。询问,
    第[0]行。询问,
    'https://bittrex.com/Market/Index?MarketName={0}.格式(名称),
    )
    )
    
    代码在哪里?抽象是什么意思?你只是想要结构上的输入(即,如果我们编写的不同),还是在寻找其他东西?代码在哪里?抽象是什么意思?你是只想在结构上输入信息(即,如果我们写得不同),还是在寻找其他信息?