記事掲載:https://laptrinhcanban.com/ja
Python でリスト内包表記を使用する方法。このレッスンの後、Pythonでのリスト内包表記の概念と、リスト内包表記を使用してリストを作成する方法を学習します。
Python のリスト内包表記とは
内部記述方法としても知られるPython のリスト内包表記は、他の言語では使用できない python でのみ使用できる特別な方法であり、非常に簡単な方法で python でリストを作成するのに役立ちます。
リストを操作していると、複雑な構造のリストを操作する必要がある場合がありますが、通常のリスト作成方法では、リストを初期化するために多くのコードが必要になります。
しかし、単純なものは複雑なものよりも優れているというpythonの原則を持つpython の創設者は、リスト内包表記を作成しました。これは、python だけが持つことができる特別な方法です。、必要なコード行を短縮し、瞬く間に複雑なリストを作成するのに役立ちます。
書くコードの行数を短くできることに加えて、Pythonのリスト内包法は処理速度が他の方法より速いとも言われています。
リスト内包表記を使用して Python でリストを作成する
Pythonで内包構文をリストする
上記のように、Python のリスト内包表記は主に Python でリストを作成するために使用します。
リストの理解は単純なリストを作成するのに役立つだけでなく、複雑な多次元リストを作成することもできますが、従来のリスト作成方法では、それを完成させるために多くの処理が必要です。.
Python でリスト内包表記を使用して、次の構文でリストを作成します
[expression
for variable
in iterable
]
そこで:
iterable
: リスト、タプル、範囲、セットなど、Python の多くの要素を含むオブジェクトvariable
:iterable
から取得した要素の値を割り当てる変数expression
:variable
変数で計算する式
処理プロセスについて:
- for ステートメントを使用して
iterable
の要素を順番に取得し、その要素の値をvariable
変数に割り当てます。 expression
式を使用して、variable
変数で計算を行い、結果を出力します。- 上記の結果は、新しいリストに要素を作成するために使用されます。
リスト内包表記を使用して Python でリストを作成する方法の例をいくつか見てみましょう。
Python でのリスト内包表記の具体的な使用例
1から5までの数字のリストを作る
通常の方法
old_list = list(range(0,6)) |
Python でリスト内包表記を使用する
comprehension_list = [number for number in range(0,6)] |
どちらも同じ結果になります。
print(comprehension_list) |
ご覧のとおり、結果は同じですが、リスト内包表記を使用すると、コードを短くして、必要な労力を減らすことができます。
1 から 5 までの数字の 2 乗を要素とするリストを作成する
通常の方法
old_list = list(range(0,6)) |
Python でリスト内包表記を使用する
comprehension_list = [number**2 for number in range(0,6)] |
どちらも同じ結果になります。
print(comprehension_list) |
異なる文字列のリストを指定して、LOWER (小文字) 形式の文字列で新しいリストを作成します。
この問題を解決するには、lower() メソッドを組み合わせて、python 文字列の大文字を小文字に変換する必要があります。
次のように、Python でリスト内包表記を使用します。
list_thanhpho = ['Long An', 'Ha Noi','Nam Dinh'] |
通常の記述では、式が複雑になればなるほど、コーディングする必要がある行数が増えることがわかります。
しかし、リスト内包表記を使用すると、問題を解決するために必要なコードは 1 行だけです。
IT’S SO COOL
リスト内包表記 python での自己生成関数の使用
上記ではlower
、upper
、足し算、引き算、掛け算、割り算などの python の組み込み関数を計算式で使用しました。
組み込み関数を使用するだけでなく、カスタム関数を使用して、次の例のようにリスト内包表記 python で計算式を指定することもできます。
与えられた整数のリストがあります。各整数の累乗を要素として新しいリストを作成しましょう
list_số = list(range(11)) |
動物の名前のリストを指定して、4 本足の動物の名前を含む新しいリストを作成します。.
list_animal = ['犬', '猫', '蛇', '象', '魚'] |
IF関数を使用した Python でのリスト内包表記の使用
Python で条件付き関数のIFを使用してリスト内包表記を使用することもできます。
これで、IF関数の条件式が true の場合のみ、for ループが実行されて新しいリストの要素が作成されます。
書き込み構文は次のようになります。
[expression
for variable
in iterable
if if_expression
]
そこで:
iterable
:リスト、タプル、範囲、セットなど、Python の多くの要素を含むオブジェクト。variable
:iterable
から取得した要素の値を割り当てる変数です。if_expression
: forループの実行を継続するかどうかを検討する条件式ですexpression
:variable
変数で計算する式です:
処理プロセスについて:
- for ステートメントを使用してiterableの要素を順番に取得し、その要素の値をvariable変数に割り当てます
- if_expression条件式を判定。 True の場合、for ループに進み、逆の場合はループをスキップ
if_expression
がtrue の場合、expression式を使用し、variable変数を計算、結果を返します- 上記の結果は、新しいリストに要素を作成するために使用されます。
次の具体例を見てみましょう。
元の数のリストから新しい偶数のリストを作成する
numbers = [0,1,2,3,4,5,6,7,8] |
リストの作成と range 関数を組み合わせて、上記の例を次のように非常に短く書くことができます。
even_numbers = [num for num in list(range(9)) if num % 2 ==0] |
どちらも同じ結果になります。:
print(even_numbers) |
- ここでは、表記法を使用%して除算の剰余を取得します。詳細はPython の算術演算子でをご覧ください。
- 範囲関数を使用して新しいリストを作成する方法の詳細についてはPython で iterable からリストを作成するの記事を参照してください。
まとめ
Python でのリスト内包表記は、Pythonを記述する特殊な方法であるため、この記述に慣れていない場合は、理解するのが難しいことがあります。しかし、一度慣れると、中毒になり、通常の方法で書く必要がなくなることを保証します.
処理能力とコードを削減できるという利点があるため、Python で書かれたプロジェクトでは、このような書き方に多く遭遇する機会があります。今日もう一度例を練習して、Python でのリストの理解をマスターしてください。
そして、次のレッスンで Python の知識についてさらに学びましょう。
URL Link
ホーム › 初心者向けのpython学習>>10. pythonのリスト