Python の 1 行の for ループ

Muhammad Waiz Khan 2023年1月30日
  1. Python のシンプルな 1 行の for ループ
  2. Python で 1 行の for ループを使用したのリスト内包表記
  3. Python で 1 行の for ループを使用した if ... else ステートメントを使用したのリスト内包表記
Python の 1 行の for ループ

このチュートリアルでは、Python で 1 行の for ループを実装するためのさまざまな方法について説明します。Python にはさまざまな形式の 1 行の for ループがあります。1つは、反復可能なオブジェクトまたはシーケンスを反復処理する単純な for ループにすることができます。もう 1つは、単純なリスト内包表記と、if ... else ステートメントを使用したリスト内包表記です。

Python のシンプルな 1 行の for ループ

単純な 1 行の for ループは for ループであり、シーケンスまたは反復可能なオブジェクトを反復処理します。したがって、for ループまたは range() 関数で反復可能なオブジェクトを使用できます。反復可能なオブジェクトは、リスト、配列、セット、またはディクショナリです。

以下のサンプルコードは、Python の反復可能オブジェクトを反復処理するための 1 行の for ループを実装する方法を示しています。

myset = {"a", "b", "c", "d", "e", "f", "g"}
mydict = {"a": 1, "b": 2, "c": 3, "d": 4, "e": 5, "f": 6, "g": 7}

for x in myset:
    print(x)

for key, val in mydict.items():
    print(key, val)

range(start, stop, step) 関数は、start 値から始まり、step に等しいステップサイズで stop 値で終わるシーケンスを返します。

以下のサンプルコードは、range() 関数を使用して Python で 1 行の for ループを実装する方法を示しています。

for x in range(1, 99):
    # do something

Python で 1 行の for ループを使用したのリスト内包表記

リスト内包表記は、Python を含む多くのプログラミング言語で、既存のリストから新しいリストを作成するための構文的な方法です。リストの各要素に任意の操作を適用し、単純なリスト内包表記を使用して新しいリストを作成できます。

以下のサンプルコードは、Python で 1 行の for ループを使用してリスト内包表記を実装する方法を示しています。以下のコードは、既存のリストの各要素の 2 乗をとることにより、新しいリストを作成します。

mylist = [6, 2, 8, 3, 1]

newlist = [x ** 2 for x in mylist]
print(newlist)

出力:

[36, 4, 64, 9, 1]

Python で 1 行の for ループを使用した if ... else ステートメントを使用したのリスト内包表記

if ... else ステートメントを使用したリスト内包表記は、既存のリストの特定の要素に操作を適用して新しいリストを作成するか、既存のリストから要素をフィルタリングして新しいリストを作成するために使用されます。

次のサンプルコードは、1 行の for ループを使用して、Python で if ステートメントと if...else ステートメントを使用してリスト内包表記を実装する方法を示しています。

以下のサンプルコードは、要素が奇数の場合は新しいリストに追加し、偶数の場合は破棄します。

mylist = [1, 4, 5, 8, 9, 11, 13, 12]

newlist = [x for x in mylist if x % 2 == 1]
print(newlist)

出力:

[1, 5, 9, 11, 13]

以下の 1 行の if ... else リスト内包表記を使用したサンプルコードは、奇数要素に 1 を追加することで奇数要素を偶数に変換し、操作を実行せずに偶数要素をリストに追加します。偶数の新しいリストを取得します。

mylist = [1, 4, 5, 8, 9, 11, 13, 12]

newlist = [x + 1 if x % 2 == 1 else x for x in mylist]
print(newlist)

出力:

[2, 4, 6, 8, 10, 12, 14, 12]

関連記事 - Python Loop