Pythonでは、for
文を使用してリストに値を格納することができます。
リストに値を追加するには、append()
メソッドを使用します。
例えば、for
文を使って1から5までの数値をリストに追加する場合、append()
メソッドを用いて各数値をリストに追加します。
この方法は、リストの要素を動的に増やしたい場合に非常に便利です。
- for文を使ったリストへの基本的な値の追加方法
- range関数を利用した連続した値の格納方法
- 条件付きでリストに値を追加する方法
- ネストされたfor文による2次元リストの作成
- リスト内包表記を使った簡潔なリスト生成方法
for文を使ったリストへの値の格納
Pythonのfor文は、リストに値を追加する際に非常に便利です。
ここでは、基本的な使い方から応用的な方法までを解説します。
for文でリストに値を追加する基本例
for文を使ってリストに値を追加する基本的な方法を見てみましょう。
# 空のリストを作成
numbers = []
# 1から5までの数字をリストに追加
for i in range(1, 6):
numbers.append(i)
print(numbers) # 出力: [1, 2, 3, 4, 5]
この例では、range(1, 6)
を使って1から5までの数字を生成し、それをappendメソッド
でリストnumbers
に追加しています。
range関数を使ったリストへの値の格納
range関数
は、指定した範囲の整数を生成するために使用されます。
これをfor文と組み合わせることで、リストに連続した値を簡単に格納できます。
# 空のリストを作成
even_numbers = []
# 2から10までの偶数をリストに追加
for i in range(2, 11, 2):
even_numbers.append(i)
print(even_numbers) # 出力: [2, 4, 6, 8, 10]
この例では、range(2, 11, 2)
を使って2から10までの偶数を生成し、リストeven_numbers
に追加しています。
range
の第三引数はステップ数を指定します。
条件付きでリストに値を追加する方法
for文を使って、特定の条件を満たす値のみをリストに追加することも可能です。
# 空のリストを作成
squared_numbers = []
# 1から10までの数字のうち、平方数をリストに追加
for i in range(1, 11):
if i ** 0.5 == int(i ** 0.5):
squared_numbers.append(i)
print(squared_numbers) # 出力: [1, 4, 9]
この例では、1から10までの数字の中で平方数(1, 4, 9)のみをリストsquared_numbers
に追加しています。
条件式i ** 0.5 == int(i ** 0.5)
を使って平方数を判定しています。
応用例
for文を使ったリストへの値の格納は、基本的な使い方だけでなく、応用的な方法も多く存在します。
ここでは、いくつかの応用例を紹介します。
ネストされたfor文でリストに値を格納する
ネストされたfor文を使うことで、2次元リストや複雑なデータ構造を作成することができます。
# 空の2次元リストを作成
matrix = []
# 3x3の行列を作成
for i in range(3):
row = []
for j in range(3):
row.append(i * j)
matrix.append(row)
print(matrix) # 出力: [[0, 0, 0], [0, 1, 2], [0, 2, 4]]
この例では、ネストされたfor文を使って3×3の行列を作成しています。
外側のfor文で行を、内側のfor文で列を生成し、それぞれの要素を計算してリストに追加しています。
リスト内包表記を使った効率的な値の格納
リスト内包表記を使うと、for文を使ったリストの生成をより簡潔に記述できます。
# 1から5までの数字をリストに追加
numbers = [i for i in range(1, 6)]
print(numbers) # 出力: [1, 2, 3, 4, 5]
この例では、リスト内包表記を使って1から5までの数字をリストに追加しています。
リスト内包表記は、コードを短くし、可読性を向上させるのに役立ちます。
複数のリストに同時に値を格納する方法
複数のリストに同時に値を格納する場合、zip関数
を使うと便利です。
# 2つの空のリストを作成
list1 = []
list2 = []
# 1から5までの数字を2つのリストに同時に追加
for i, j in zip(range(1, 6), range(6, 11)):
list1.append(i)
list2.append(j)
print(list1) # 出力: [1, 2, 3, 4, 5]
print(list2) # 出力: [6, 7, 8, 9, 10]
この例では、zip関数
を使って2つの範囲を同時にループし、それぞれのリストに値を追加しています。
zip関数
は、複数のイテラブルを同時に処理するのに便利です。
よくある質問
まとめ
Pythonのfor文を使ったリストへの値の格納方法は、基本から応用まで多岐にわたります。
この記事では、for文の基本的な使い方から、リスト内包表記やネストされたfor文、複数のリストへの同時格納などの応用例を紹介しました。
これらの知識を活用して、より効率的で読みやすいコードを書くことを目指しましょう。