【Python】for文でリストに格納する方法
- 基本的なfor文でのリスト格納
- appendを使ったリストへの追加
- リスト内包表記を使った格納
- 条件を付けたリスト格納
- ネストしたfor文でリスト格納
- 辞書のリストを作成する
- map関数を使ったリスト作成
- まとめ
基本的なfor文でのリスト格納
Pythonの`for`文を使うことで、リストにデータを追加できます。以下の例では、1から5までの数値をリストに格納しています。
numbers = []
for i in range(1, 6):
numbers.append(i)
print(numbers) # 出力: [1, 2, 3, 4, 5]
appendを使ったリストへの追加
`append()`メソッドを使うことで、リストに要素を1つずつ追加できます。
words = []
for word in ["apple", "banana", "cherry"]:
words.append(word)
print(words) # 出力: ['apple', 'banana', 'cherry']
リスト内包表記を使った格納
リスト内包表記(List Comprehension)を使うと、より簡潔にリストを作成できます。
squares = [x ** 2 for x in range(1, 6)]
print(squares) # 出力: [1, 4, 9, 16, 25]
条件を付けたリスト格納
`for`文と`if`文を組み合わせて、特定の条件を満たす要素だけをリストに格納することも可能です。
evens = [x for x in range(10) if x % 2 == 0]
print(evens) # 出力: [0, 2, 4, 6, 8]
ネストしたfor文でリスト格納
二重の`for`文を使って、リストを作成することも可能です。
pairs = [(x, y) for x in range(3) for y in range(2)]
print(pairs) # 出力: [(0, 0), (0, 1), (1, 0), (1, 1), (2, 0), (2, 1)]
辞書のリストを作成する
リストの中に辞書を格納することもよくあります。
students = [{"name": name, "score": score} for name, score in zip(["Alice", "Bob", "Charlie"], [85, 90, 78])]
print(students)
map関数を使ったリスト作成
`map()`関数を使って、リストを作成することも可能です。
numbers = list(map(lambda x: x**2, range(1, 6)))
print(numbers) # 出力: [1, 4, 9, 16, 25]
まとめ
Pythonの`for`文を使ってリストにデータを格納する方法はいくつかあります。
- 基本的な`for`文でリストに追加
- `append()`を使ったリスト格納
- リスト内包表記を使って簡潔に記述
- `if`条件を加えて特定の要素のみ格納
- ネストした`for`文でリスト作成
- 辞書のリストを作成する方法
- `map()`関数を利用してリストを生成
このように、用途に応じて適切な方法を選択すると、コードの可読性や効率を向上させることができます。