Python-リスト内包表記
リスト内包表記
リスト内包表記は、既存のリストの値に基づいて新しいリストを作成する場合に、より短い構文を提供します。
例:
果物のリストに基づいて、名前に文字「a」が含まれる果物のみを含む新しいリストが必要です。
リスト内包表記がなければ、for
内部に条件テストを含むステートメント:
例
fruits = ["apple", "banana", "cherry", "kiwi", "mango"]
newlist = []
for x in fruits:
if "a" in x:
newlist.append(x)
print(newlist)
リスト内包表記を使用すると、たった 1 行のコードですべてを実行できます。
例
fruits = ["apple", "banana", "cherry", "kiwi", "mango"]
newlist = [x for x in fruits if "a" in x]
print(newlist)
構文
newlist = [
expression
for
item
in
iterable
if
condition
== True]
戻り値は新しいリストで、古いリストは変更されません。
状態
の*状態*に評価されるアイテムのみを受け入れるフィルターのようなものです。True
.
conditionif x != "apple" が返されますTrue
「リンゴ」以外のすべての要素に対して、新しいリストに「リンゴ」以外のすべての果物が含まれるようにします。
の*状態*はオプションであり、省略できます。
反復可能
の*反復可能*リスト、タプル、セットなどの反復可能なオブジェクトにすることができます。
同じ例ですが、条件があります:
表現
の*表現*は反復の現在の項目ですが、新しいリストのリスト項目のようになる前に操作できる結果でもあります。
結果を好きなように設定できます。
の*表現*フィルターのようにではなく、結果を操作する方法として、条件を含めることもできます。
の*表現*上記の例では、次のように述べています。
*「バナナじゃなければ商品を返品、バナナならオレンジを返品」。*
プログラミング学習を加速させる
プログラミングをプロの講師に教えてもらいませんか。