Closed2
Pythonのネストされた内包表記
for文の結果に応じてinのrangeを作って、そのrangeに対してさらにifでフィルタする。
import enum
class TradeType(enum.Enum):
buy = enum.auto()
sell = enum.auto()
option = enum.auto()
class Result:
def __init__(self, result: bool, trade_type: TradeType):
self.result = result
self.trade_type = trade_type
def is_normal_trade(trade_type: TradeType) -> Result:
if trade_type == TradeType.buy:
return Result(True, trade_type)
elif trade_type == TradeType.sell:
return Result(True, trade_type)
else:
return Result(False, trade_type)
a = [
result.trade_type
for result in (
is_normal_trade(trade_type)
for trade_type in TradeType
)
if result.result
]
print(a)
実行するとbuy,sellだけフィルタされる。
このスクラップは2023/05/24にクローズされました