
【Python】リスト(list)展開の基礎やforループ、内包表記などを解説
公開: 更新:Pythonリストの基本的な展開方法
【サンプルコード】
numbers = [1, 2, 3, 4, 5]
for number in numbers:
print(number)
【実行結果】
1
2
3
4
5
上記のコードはnumbers
というリストを作成し、その中に5つの整数が格納されています。リストは「順序付けられた要素の集合」で、Pythonでは角括弧 [] を使用して表現されます。このリストに含まれる各要素は、リストの中で一意の位置(インデックス)によって識別されます。
2行目から始まるfor
ループは、リストnumbers
の各要素を順番にnumber
変数に割り当て、ループごとにその値を出力します。for number in numbers:
は「numbers
リストの各要素をnumber
という変数に代入していく」という意味です。
このループによりリストの各要素が一つずつ取り出され、print
関数によって画面に表示されます。
このようにリストの要素を一つずつ処理する方法は、リストの展開の基本的な形です。リストを展開することで、リスト内の各要素に対して操作を行うことができます。
【PR】『Python』を学べる企業・個人向けのプログラミングコース
リスト内包表記を使った展開方法
【サンプルコード】
numbers = [1, 2, 3, 4, 5]
squared_numbers = [x ** 2 for x in numbers]
print(squared_numbers)
【実行結果】
[1, 4, 9, 16, 25]
このコードでは、まずnumbers
というリストが作成されています。
次にsquared_numbers
という新しいリストが「リスト内包表記」を用いて生成されています。
リスト内包表記は元のリストの各要素に対して操作を行い、その結果を新しいリストにまとめるための方法です。
[x ** 2 for x in numbers]
は、numbers
リストの各要素x
に対してx ** 2
(xの二乗)を計算し、その結果を新しいリストに格納しています。
この方法を用いることで、元のリストに対する複雑な操作も簡潔に記述することができます。
最終行のprint(squared_numbers)
は、計算された二乗のリストを出力します。
この例では、元のリストの各要素を二乗して新しいリストを作成していますが、他の数学的な操作や条件付きの操作も可能です。
複数のリストを展開する方法
【サンプルコード】
list1 = [1, 2, 3]
list2 = [4, 5, 6]
combined_list = [x + y for x in list1 for y in list2]
print(combined_list)
【実行結果】
[5, 6, 7, 6, 7, 8, 7, 8, 9]
このコードではlist1
とlist2
という2つのリストが用意されています。
次に、これら2つのリストの要素を組み合わせて、新しいリストcombined_list
を作成しています。
リスト内包表記のこの形式では、2つのfor
ループが用いられており、list1
の各要素x
とlist2
の各要素y
を組み合わせています。
[x + y for x in list1 for y in list2]
は、list1
の各要素x
とlist2
の各要素y
を足し合わせた結果を新しいリストに格納しています。
この方法は複数のリスト間で要素を組み合わせる際に非常に役立つので、覚えておいた方が良いでしょう。
出力されるcombined_list
は、list1
とlist2
の各要素の組み合わせによって生成された数値のリストです。
今回の例では単純な加算を行っていますが、他の種類の操作やより複雑な組み合わせも可能です。
上記のようにリスト内包表記を用いることで、複数のリストから新しいリストを効率的に生成することができるので、ぜひ参考にしてください。
※上記コンテンツの内容やソースコードはAIで確認・デバッグしておりますが、間違いやエラー、脆弱性などがある場合は、コメントよりご報告いただけますと幸いです。
ITやプログラミングに関するコラム
- ChatGPTでプロンプトを使うコツとNG例|シーン別のプロンプト例まで徹底解説
- ChatGPT 4oアップデートで高クオリティな画像生成が可能に!具体例や作り方、プロンプトのコツを紹介
- 【Open AI・Claude】プロンプトジェネレーターの使い方。ChatGPTで活用するコツや利用料金も併せて解説
- 【Python】@(アットマーク)の意味を簡単に解説
- 【Python】match case(match文)で複数条件を処理する方法