例を含むPythonリスト内包表記[2022]
公開: 2021-06-29シーケンスは、Pythonで内包表記を使用することにより、すでに定義されているシーケンスから簡潔または短い方法で構築できます。 シーケンスには、リスト、辞書、セットなどのデータ構造が含まれます。Pythonでは次の内包表記がサポートされています。
- リスト内包
- 辞書内包表記
- 内包表記を設定する
- 発電機の理解
この記事では、Pythonのリスト内包表記とその使用法に焦点を当てます。 リスト内包表記のように、Pythonの辞書内包表記も作成できます。
目次
リスト内包とは何ですか?
Pythonは広く受け入れられているプログラミング言語であり、ユーザーに簡単で洗練されたコードを書く能力を提供します。 リスト内包表記は、新しいリストを作成するために使用されるPythonの特徴的な機能の1つです。 1行のコードを使用することで、機能を作成できます。
リスト内包にif条件を含める必要はありませんが、リスト内包に複数の形式を含めることができます。
したがって、リスト内包表記
- 既存のリストに基づいてリストを定義および作成するためのエレガントな方法です。
- リストとループを作成するための通常の関数と比較して、リスト内包表記ははるかにコンパクトで高速です。
- コードをよりユーザーフレンドリーにするために、長いリスト内包表記の記述は避ける必要があります。
- forループを使用しているときに、リスト内包表記を書き直すことができます。
リストを作成する方法は?
プログラミング言語pythonでリストを作成する方法はいくつかあります。
1.forループ
Forループは、リストの作成に使用できます。 要素リストを作成するには、3つの手順に従う必要があります。
- 空のリストがインスタンス化されます。
- ループは、反復可能な要素に対して使用されます。
- 各要素はリストの最後に追加されます。
2. map()オブジェクト
別のアプローチ、つまりmap()は、関数型プログラミングに基づいています。 オブジェクトは、反復可能な関数と要素がmap()に渡されたときに作成されます。 提供された関数を介して反復可能要素の実行から生成される出力は、オブジェクトに含まれます。
3.リスト内包
リストを作成する別の方法は、リスト内包を使用することです。 forループは、1行だけで構成されるコードで書き直すことができます。
最初に空のリストを作成し、最後に要素を追加する以前の方法と比較すると、この場合は、1行で実行されます。 リストと内容は単純に同時に定義されます。 使用されるコードはです。
すべてのPythonリスト内包表記には3つの要素があります。
- 式:これはメンバーであり、式はメソッド呼び出しまたは値が返される任意の式です。
- メンバー:反復可能リスト内の値またはオブジェクトです。 上記の例では、メンバーの値は1です。
- 反復可能:リスト、シーケンス、セット、または要素を一度に1つずつ返すことができるその他のオブジェクトです。 上記の例では、反復可能はrange(10)です。
Pythonリスト内包表記は、map()を使用する場所でもうまく機能します。 上記の例は、として書き直すことができます。
map()とリスト内包表記を使用する場合の違いは、リスト内包表記の場合はリストが返され、map()の場合はマップオブジェクトが返されることです。
条件文
既存のリストは、リスト内包表記の条件ステートメントを使用して変更できます。 リストまたはタプルのいずれか。どちらもPythonリスト内包表記を使用して変更できます。
1.ifの条件を使用する
'if'の条件は、次のコードを介してリスト内包で使用できます。

上記のプログラムを実行すると、出力が生成されます:[0、2、4、6、8、10、12、14、16、18]
2.ネストされたIFの条件を使用する
リスト内包表記は、次のチェックを行います。
- 要素yは2または5で割り切れますか?
- 両方の条件がyによって満たされる場合、それはnum_listに追加されます。
また読む:実世界での魅力的なPythonアプリケーション
3.if-elseを使用する
上記の例では、0から10までの10個の数値がリスト内包表記によってチェックされます。
4.ネストされたループの使用
生成された出力:[[1、4]、[2、5]、[3、6]、[4、8]]
行列の転置は、2つのループを使用して計算されます。
- 通常のネストされたループと比較して、リスト内包に含まれるネストされたループは、他のネストされたループとは動作が異なります。
構文
Pythonリスト内包表記の基本的な構文は次のとおりです。
[リスト内のアイテムの式]
文字列があり、リスト内包表記を使用してそれを反復したいとします。
上記の例では、「human」が文字列としてもリストとしても使用されていないことがわかります。 ここに、 Pythonリスト内包表記の力があります。 文字列であろうとタプルであろうと、リスト内包表記はそれを識別し、リストのように処理できます。
ループを使用して同じことを実行できます。 ただし、リスト内包表記の構文の後にループを続けることはできません。
結論
この記事では、Pythonでのリスト内包表記と、さまざまな方法でのリスト内包表記について簡単に学びました。 この理解の知識があれば、他のコードがあなたのタスクのために試されるかもしれません。 Pythonの概念は大きな注目を集めていますが、データを効果的に使用できれば、より価値があります。 これは、明確で簡潔なコードを書くことによって実行できます。
したがって、Pythonとそのデータマイニングでの実装について学びたい場合は、upGradが提供するデータサイエンスのエグゼクティブPGプログラムのコースを確認できます。 12か月のコースは、21〜45歳のエントリーレベルの専門家(男性と女性の両方)向けに設計されており、インド初のNASSCOM認定PGPです。 400時間以上の学習と、14以上のツールと言語の実践的な経験を備えたこのコースは、あなたの夢に合うように特別に設計されています。 コースに関するお問い合わせは大歓迎です。
Pythonリストは、次のシナリオでデータを格納するための最適なデータ構造であると見なされます。 リスト内包表記には、ループに比べていくつかの重要な利点があります。 以下は、リスト内包表記の長所の一部です。 Pythonリストは、以下に示す複数の方法で作成できます。データの保存にPythonリストが優先されるのはいつですか?
1.リストは、さまざまなデータ型のさまざまな値を格納するために使用でき、それぞれのインデックスだけでアクセスできます。
2.要素に対して数学演算を実行する必要がある場合は、要素を直接数学演算できるため、リストを使用できます。
3.リストはサイズを変更できるため、保存する要素の数がわからない場合にデータを保存するために使用できます。
4.リスト要素は簡単に変更可能であり、セットや辞書とは異なり、重複する要素を格納することもできます。 ループに対するリスト内包の利点は何ですか?
1.リスト内包表記は、最初にすべての要素を収集し、それらをすべて一度に挿入するため、ループよりもはるかに高速でコンパクトです。
2.ループがブロックで行うのと同じことを、リスト内包表記を使用して1行で実行できるため、コードがよりクリーンでユーザーフレンドリーになります。
3.行列をベクトルに分解し、リストのフィルタリングを行うことは、リストの内包表記がループよりも優れていることがわかる最良の例です。 リストを作成するさまざまな方法を述べますか?
1. forループの使用:forループは、リストを作成するための最も基本的な方法です。 リストは、次の3つの簡単な方法でforループを使用して作成できます。
a。 空のリストを作成します。
b。 挿入するすべての要素を繰り返し処理します。
c。 append()関数を使用して、リスト内の各要素を追加します。
2. map()の使用: Pythonのmap()関数を代わりに使用して、リストを作成できます。 この関数は、次の2つのパラメーターを受け入れます。
a。 関数:マップが各反復可能オブジェクトを渡す関数。
b。 Iterable:マップされる要素またはiterable。
3.リスト内包表記の使用:この方法は、3つの方法すべての中で最も最適化されています。 上記のメソッドでは、最初に空のリストを作成する必要がありますが、リスト内包表記を使用すると、1行を使用してリスト内のすべての要素を挿入できます。