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}.格式(名称),
)
)
代码在哪里?抽象是什么意思?你只是想要结构上的输入(即,如果我们编写的不同),还是在寻找其他东西?代码在哪里?抽象是什么意思?你是只想在结构上输入信息(即,如果我们写得不同),还是在寻找其他信息?