Python の 1 行の for ループ
-
Python のシンプルな 1 行の
for
ループ -
Python で 1 行の
for
ループを使用したのリスト内包表記 -
Python で 1 行の
for
ループを使用したif ... else
ステートメントを使用したのリスト内包表記
このチュートリアルでは、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]