Pythonの内包表記
特定のPythonシーケンスを使用して新しいシーケンスを作成できます。これは理解と呼ばれます。これは基本的に、別のシーケンスを使用してリスト、辞書、セット、またはジェネレーターとなるシーケンスを生成するための簡潔なコードブロックを作成する方法です。異なるタイプのシーケンス間の変換の複数のステップが含まれる場合があります。
リスト内包表記
この方法では、既存のリストの値を操作して新しいリストを作成します。次の例では、リストを取得し、指定されたリストの各要素に3を追加して、新しいリストを作成します。
例
given_list = [x for x in range(5)] print(given_list) new_list = [var+3 for var in given_list] print(new_list)
出力
上記のコードを実行すると、次の結果が得られます-
[0, 1, 2, 3, 4] [3, 4, 5, 6, 7]
辞書内包表記
上記と同様に、リストを取り込んで、そこから辞書を作成できます。
例
given_list = [x for x in range(5)] print(given_list) #new_list = [var+3 for var in given_list] new_dict = {var:var + 3 for var in given_list } print(new_dict)
出力
上記のコードを実行すると、次の結果が得られます-
[0, 1, 2, 3, 4] {0: 3, 1: 4, 2: 5, 3: 6, 4: 7}
2つのリストを取り込んで、そこから新しい辞書を作成することもできます。
例
list1 = [x for x in range(5)] list2 = ['Mon','Tue','Wed','Thu','Fri'] print(list1) print(list2) new_dict ={key:value for (key, value) in zip(list1, list2)} print(new_dict)
出力
上記のコードを実行すると、次の結果が得られます-
[0, 1, 2, 3, 4] ['Mon', 'Tue', 'Wed', 'Thu', 'Fri'] {0: 'Mon', 1: 'Tue', 2: 'Wed', 3: 'Thu', 4: 'Fri'}
集合の内包性
上記と同様のアプローチを取り、既存のセットまたはリストから新しいセットを作成できます。次の例では、既存のセットの要素に3を追加して、新しいセットを作成します。
例
given_set = {x for x in range(5)} print(given_set) new_set = {var+3 for var in given_set} print(new_set)
出力
上記のコードを実行すると、次の結果が得られます-
{0, 1, 2, 3, 4} {3, 4, 5, 6, 7}
ジェネレーターの理解
既存のリストから新しいジェネレーターを作成できます。これらのジェネレータは、アイテムが最初に割り当てられるのではなく、生成されるときにメモリを割り当てるため、メモリ効率が高くなります。
例
given_list = [x for x in range(5)] print(given_list) new_set = (var+3 for var in given_list) for var1 in new_set: print(var1, end=" ")
出力
上記のコードを実行すると、次の結果が得られます-
[0, 1, 2, 3, 4] 3 4 5 6 7
-
Pythonでパターンを印刷する方法は?
Pythonのパターンは、ネストされたforループを使用して印刷できます。外側のループは行数を反復処理するために使用され、内側のループは列数を処理するために使用されます。印刷ステートメントは、要件に応じてさまざまなパターンを形成するように変更されます。 パターンには、星型、数字型、アルファベット型があります。パターンは、さまざまな形、三角形、ピラミッドなどにすることができます。 例 これらのパターンはすべて、これらの異なるパターンを形成する変更されたprintステートメントを含むforループを使用して印刷できます。 これらのパターンの印刷の基本的な考え方は同じですが、わずかな違いが
-
Pythonでリストを印刷する
リストは一連の要素です。シーケンス内のすべての要素は、シーケンス内の位置によってアクセスできます。インデックスは0で始まります。したがって、list [2]は、リストの3番目のインデックス2、つまり50の要素を返します。