[解決済み】1行リスト内包:if-elseの変形版
2022-04-05 06:50:48
質問
Pythonのリスト内包の構文についてなのですが。私は、与えられた範囲の奇数のリストを生成するリスト内包を持っています。
[x for x in range(1, 10) if x % 2]
これはフィルタを作るもので、ソースリストから偶数番号を削除します (
if x % 2
). ここでif-then-elseのようなものを使いたいのですが。以下のコードは失敗します。
>>> [x for x in range(1, 10) if x % 2 else x * 100]
File "<stdin>", line 1
[x for x in range(1, 10) if x % 2 else x * 100]
^
SyntaxError: invalid syntax
Pythonにはif-elseのような式があります。
1 if 0 is 0 else 3
リスト内包の中で使うには?
どのように解決するのですか?
x if y else z
は、各要素に対して返す式の構文です。したがって、あなたは必要です。
[ x if x%2 else x*100 for x in range(1, 10) ]
この混乱は、あなたが フィルタ は、最初の例ではそうですが、2番目の例ではそうではありません。2つ目の例では マッピング という3項演算子式を使って、それぞれの値を別の値に変換します。
フィルタで、必要です。
[ EXP for x in seq if COND ]
必要なフィルタなし。
[ EXP for x in seq ]
そして、2番目の例では、式はquot;complex"であり、それはたまたま、quot;complex"を含む。
if-else
.
関連
-
Python 人工知能 人間学習 描画 機械学習モデル作成
-
[解決済み】ilocが「IndexError: single positional indexer is out-of-bounds」を出す。
-
[解決済み】Flaskのテンプレートが見つからない【重複あり
-
[解決済み] リストのリストからフラットなリストを作るには?
-
[解決済み] リスト内のアイテムのインデックスを検索する
-
[解決済み] 複数の例外を1行でキャッチする(ブロックを除く)
-
[解決済み] リスト内包型辞書の作成
-
[解決済み] リスト内包のif/else
-
[解決済み] オブジェクトの属性に基づいてオブジェクトのリストを並べ替えるには?
-
[解決済み] リスト理解 vs マップ
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Pythonショートビデオクローラーチュートリアル
-
[解決済み】「RuntimeError: dictionary changed size during iteration」エラーを回避する方法とは?
-
[解決済み] データ型が理解できない
-
[解決済み】 AttributeError("'str' object has no attribute 'read'")
-
[解決済み】IndexError: invalid index to scalar variableを修正する方法
-
[解決済み】NameError: 名前 'self' が定義されていません。
-
[解決済み】Python - "ValueError: not enough values to unpack (expected 2, got 1)" の修正方法 [閉店].
-
[解決済み】Flaskのテンプレートが見つからない【重複あり
-
[解決済み】ValueError: xとyは同じサイズでなければならない
-
[解決済み】リスト内包で'else'を使用することは可能ですか?重複