Pythonでのリスト内包表記(例付き)
公開: 2021-08-22Pythonは、世界で最も人気のあるプログラミング言語の1つです。 2020年には、RedMonkのプログラミング言語人気ランキングで2位にランクされました。 広く普及している理由は、わかりやすいコードとシンプルさです。 構文に精通していれば、Pythonでコードを書くのは非常に簡単です。 そのユニークなハイライトの1つは、リスト内包表記機能です。 1行のコードを記述するだけで、リストのPython理解を実行できます。
次のポイントは、リスト内包表記とは何か、およびさまざまな設定でリスト内包表記を使用する方法を示しています。 また、リスト内包表記とforループの間に存在する違いについても説明します。これは、非常に混乱する可能性があります。 また、他の関連機能とその使用方法についても学習します。
目次
リスト内包表記Pythonとは何ですか?
Pythonには、リストを作成するための複数の方法があります。 それらの中で最も効果的な方法の1つは、リスト内包機能です。 1行のコードを記述してリストを作成できます。
リスト内包表記を使用して、配列、文字列、タプル、リストなどの他の反復可能な要素から新しいリストを作成できます。これは、式を含む角かっこで構成されています。 システムは、forループを使用してすべての要素の式を実行し、すべての要素を反復処理します。
Pythonでのリスト内包表記の構文は次のとおりです。
your_new_list =[your_old_listif条件の要素の式]
ここで、your_new_listは新しいリスト(または結果)です。 式は、your_old_listのすべての要素に使用した変数によって異なります。 最後に、「if条件」はフィルターです。
Python開発者がループよりもリスト内包表記を好む理由はたくさんあります。 主な理由は効率です。 リスト内包表記を使用すると、ループを使用する場合よりもはるかに少ない労力とコードでリストを作成できます。
ループよりもコードの行数が少ないため、リスト内包表記によって多くの時間を節約できます。 コードをシンプルに保ち、よりユーザーフレンドリーにします。 さらに、リスト内包表記は、数式への反復ステートメントをカバーします。 Pythonの専門知識をさらに深めたい場合は、一流大学のデータサイエンスプログラムをご覧ください。
リスト内包表記Pythonの例
Pythonでリスト内包表記を使用する方法のいくつかの例を共有しています。 それらがどのように機能するかを理解した後、それらを研究し、独自のプログラムで複製するのが最善です。 ツールリストの理解が本当にどれほど効果的であるかを正しく理解するのに役立ちます。
例1:
この例では、Pythonの理解を使用して簡単なリストを作成します。
入力:
a = [i for i in range(5)]
印刷する
出力:
[0、1、2、3、4]
例2:
以下の例では、2の倍数でリストを作成します。
入力:
new_list = [a * 2 for a in range(10)]
出力
[0、2、4、6、8、10、12、14、16、18]
例3
リスト内包表記を使用すると、リスト内のすべての項目を乗算できます。
入力
old_list = [1、2、3]
new_list =[old_listのアイテムのアイテム*2]
new_listを印刷します
出力
[2、4、6]
例4
リスト内包表記は整数だけでなく、文字列でも使用できます。 この例では、リスト内包表記を使用して、元のリスト内のすべての単語の最初の文字のリストを作成します。
入力:
my_list = [“ upgrade”、“ is”、“ fun”]
結果=[my_list内の単語のword[0]]
結果の印刷
出力
['u'、'i'、'f']
例5
リスト内包表記を使用して、文字列から数値を抽出することもできます
入力:
old_list="upGrad123は楽しいです"
new_list = [x.isdigit()の場合、文字列内のxのx]
new_listを印刷します
出力:
['1'、 '2'、 '3']
例6:
Pythonの数学的実装の重要な部分である関数でリスト内包表記を使用することもできます。
入力
#最初に、tripleという関数を作成します
def triple(x
x*3を返す
#これで、有効な値を入力すると結果を出力する関数が機能するようになりました
>>> print triple(2)
出力:
6
これで、この関数でリスト内包を使用して、より多くのリストを作成できます。
入力:
>>> [range(5)のxのtriple(x)]
トリプルプリント
出力:
[0、3、6、9、12]
リスト内包表記とforループの違い
リストを反復処理する一般的な方法は、forループを使用することです。 ただし、リスト内包表記は、より少ないコード行でタスクを実行できるため、リストを反復処理するためのより効率的な方法です。
違いを説明する例を次に示します。 空のリストから始めて、偶数のリストになるように変更します。
入力
#空のリストを作成する
old_list = []
#forループを使用して新しいリストを作成する
range(5)のxの場合:
old_list.append(x * 2)
old_listを印刷する
出力:
[0、2、4、6、8]
ご覧のとおり、forループでは、append関数を使用して新しいリストを作成する必要があります。 また、ループを使用して同じリストを変更できるように、最初に空のリストを作成する必要がありました。 ただし、リスト内包表記を使用すると、1行のコードでタスクを完了することができるため、別の関数を使用する必要はありません。
入力:
#リスト内包表記を使用してセットを作成する
old_list = [range(5)のxのx * 2]
old_listを印刷する
出力:
[0、2、4、6、8]リスト内包表記は、必要なスペースとコードが少ないため、forループを使用するよりも必要な計算能力も少なくて済みます。 これは、コードがかなり長い場合に効率が重要な問題になるため、大規模なプログラムで作業する場合に役立ちます。
ただし、リスト内包表記を使用している場合は、1行で長すぎるリスト内包表記を使用しないようにする必要があります。 そうしないと、コードがユーザーフレンドリーなままにならず、他の開発者と作業を共有することが非常に困難になる可能性があります。 すべてのリスト内包をforループに書き換えることはできますが、すべてのforループをリスト内包に書き換えることはできないことに注意してください。
リスト内包表記は、このプログラミング言語に存在する多くのPython内包表記機能の1つです。 非常に人気のあるもう1つの理解機能は、辞書の理解です。
Pythonの辞書理解とは何ですか?
辞書の理解は、その名前が示すように、Pythonで辞書を作成することを可能にします。 辞書理解の構文は次のとおりです。
{反復可能な(k、v)のk:v}
ここで、kはキーを表し、vは値を表します。
動作中を見てみましょう。 次の例では、2つのリストを作成し、辞書内包表記を使用してそれらから辞書を生成します。
入力:
#Pythonを使用して辞書の理解度を示す
#キーと値を表す2つのリストを作成する
キー=[1、2、3、4、5]
値=['a'、'b'、'c''d'、'e']
#辞書理解の実装
new_dict = {k:v for(k、v)in zip(keys、values)}
new_dictを出力します
出力:
{1:'a'、2:'b'、3:'c'、4:'d'。 5:'e'}
辞書の理解により、Pythonで辞書を非常に簡単に作成できます。 ただし、リスト内包表記を使用して辞書を生成することもできます。 次の例では、リスト内包表記を使用して辞書を作成します。
入力:
new_dict = {x:x * 2 for x in [5、4、3、2、1]}
new_dictを出力します
出力:
{5:10、4:8、3:6、2:4、1:2}
Pythonエキスパートになる
リスト内包表記は、Pythonに存在する多くの機能の1つです。 これは、非常に用途が広く便利なプログラミング言語です。 さらに、Pythonの構文も非常に理解しやすく、慣れるのにかなりの労力を要します。 これらの利点とは別に、Pythonはユーザーに多数のライブラリも提供します。
コレクションに定期的に新しいライブラリを追加する開発者とプログラマーの活発なコミュニティがあります。 Pythonで利用できる多数のライブラリと関数により、Pythonはソフトウェア開発、データサイエンス、機械学習などのさまざまな分野で役立ちます。
Pythonの学習に興味がある場合は、入力するフィールドのコンテキストでPythonを学習する必要があります。 また、採用担当者は、候補者の専門知識を保証するため、常にこの分野の認定専門家を探します。
これらの理由から、このスキルでのキャリアを追求することに興味がある場合は、Pythonコースに参加するのが最善です。 International Institute of Information Technology Bangaloreは、upGradを使用したソフトウェア開発のエグゼクティブPGプログラムを提供しています。これは、このプログラミング言語の専門家になり、技術的なキャリアを追求したい人に最適です。 このコースでは、Pythonやその他のトレンド技術を研究するための適切に構造化された方法を提供し、すぐに使える専門家として業界に参入するのに役立ちます。
upGradには、85か国以上に40,000人を超える有料学習者がいます。 このプログラムに参加すると、upGradの広大な学習者ベースを通じて国際的にネットワークを構築することもできます。 ソフトウェア開発コースのエグゼクティブPGプログラムは、13か月間続くオンラインプログラムです。 それは週に15時間の時間の約束を必要とするだけです。
プログラムは、6つの専門分野から選択できます
- サイバーセキュリティ
- DevOps
- クラウドコンピューティング
- ビッグデータ
- ブロックチェーン開発
- フルスタック開発
これらの利点に加えて、upGradはこのプログラムで360度のキャリア支援も提供しているため、キャリアを簡単に開始できます。 このコースの詳細については、ソフトウェア開発のエグゼクティブPGプログラムをご覧ください。
結論
最初は単純なリストでリスト内包を試してから、この機能のより複雑なアプリケーションに進むことができます。 リスト内包表記は、Pythonプログラミングがいかに柔軟で堅牢であるかの一例です。
リスト内包表記についてどう思いますか? プログラムでどのように使用しますか?
リスト内包表記Pythonを使用すると、1行のコードを使用するだけで効率的にリストを作成できます。 これは、Pythonで最も堅牢な機能の1つです。 辞書の理解により、2つのリストの辞書を作成できます。 キーと値を使用して、必要な辞書を作成します。 はい、ほとんどの場合、リスト内包表記はリストを作成するためのはるかに優れた方法です。 リストを生成するためのループよりも、必要なコード、時間、および計算能力が少なくて済みます。 Pythonのリスト内包表記は何をしますか?
辞書理解とは何ですか?
リスト内包表記はforループよりも優れていますか?