これをforループをネストされたif文を使ってリスト内包に変換するにはどうすればよいですか?リスト内包Pythonのネストされた制御フロー
stock = []
for i in range(10):
if i <= 5:
trade = "buy"
elif i > 5 and i <= 7:
trade = "hold"
if i == 6:
trade = "short-sell"
else:
trade = "sell"
stock.append(trade.capitalize())
stock
[ '購入'、 '購入'、 '購入'、 '購入'、 '購入'、 '購入'、 '短期売り'、 'ホールド'、 '売る'、 '売る']
私がこれまで持っている最高のは、次のとおりです。
["Buy" if i <= 5 else "Hold" if i > 5 and i <= 7 else "Sell"
for i in range(10)]
[ '購入'、 '購入'、 '購入'、 '購入'、 '購入' 、 '購入する'、 '保留する' 、 '保留'、 '売る'、 '売る']
ご協力いただければ幸いです。 :)
短い方が良いとは限りません。 FOR/IFコードは、特にある時点で他のプログラマーがそれを読まなければならない場合には、読みやすくなります。 – Ctznkane525
良い点はJohnですが、一般的に短いコードほど速くなる傾向があります。 – MichaelRSF
私はエラーを修正しました、それはちょうど株式です。append(trade.capitalize())は正しくインデントされませんでした。 – MichaelRSF