【Python】第1章第6回:リスト(list)の基本操作と応用
Pythonのリスト(list
)は、複数のデータを扱う際に便利なデータ型です。本記事では、リストの基本操作から応用的な使い方までを解説します。
0. 記事の概要
この記事を読むメリット
- リストの基本操作を理解:リストの作成、要素の追加・削除方法を学べます。
- 応用的な操作を習得:リスト内包表記やソートなど高度な操作に挑戦できます。
- 実用的なスキルを取得:リストを活用した実用的なプログラムが書けるようになります。
この記事で学べること
- リストの基本操作(追加、削除、インデックス)
- リスト内包表記と応用的な操作
- リストを使った実用的なプログラム
1. リストの基本操作
1.1 リストの作成
リストは、角括弧([]
)で囲んだ複数の要素を持つデータ構造です。
# リストの作成
fruits = ["apple", "banana", "cherry"]
print(fruits) # 出力: ['apple', 'banana', 'cherry']
動作解説
- リストは複数のデータを1つの変数にまとめて格納します。
- インデックスを使用して個々の要素にアクセスできます(例:
fruits[0]
は'apple'
)。
1.2 リストの要素追加と削除
リストに要素を追加するにはappend()
やinsert()
を、削除するにはremove()
やpop()
を使用します。
# 要素の追加
fruits.append("orange") # 末尾に追加
fruits.insert(1, "blueberry") # 指定位置に追加
print(fruits) # 出力: ['apple', 'blueberry', 'banana', 'cherry', 'orange']
# 要素の削除
fruits.remove("banana") # 特定の要素を削除
removed_item = fruits.pop() # 末尾の要素を削除して取得
print(fruits) # 出力: ['apple', 'blueberry', 'cherry']
print(removed_item) # 出力: 'orange'
動作解説
append()
: リストの末尾に新しい要素を追加します。insert()
: 指定した位置に要素を挿入します。remove()
: 指定した値を持つ最初の要素を削除します。pop()
: 末尾の要素を削除して取得します。
2. リストの応用
2.1 リストのソート
リストを昇順または降順に並び替えるには、sort()
やsorted()
を使用します。
# リストのソート
numbers = [5, 2, 9, 1]
numbers.sort() # 昇順に並び替え
print(numbers) # 出力: [1, 2, 5, 9]
# 降順に並び替え
numbers.sort(reverse=True)
print(numbers) # 出力: [9, 5, 2, 1]
動作解説
sort()
: 元のリストを変更して並び替えます。sorted()
: 新しいリストを返し、元のリストは変更されません。
2.2 リスト内包表記
リスト内包表記を使うと、簡潔にリストを生成できます。
# リスト内包表記の例
squared_numbers = [x**2 for x in range(5)]
print(squared_numbers) # 出力: [0, 1, 4, 9, 16]
動作解説
- 内包表記では、簡潔にリストを生成でき、ループ処理や条件式を含む操作が可能です。
3. 実践例:リストを活用したプログラム
リストを使ってユーザーの入力を処理するプログラムを作成します。
# ユーザーから入力された数値をリストとして保存し、その合計を計算
numbers = []
for _ in range(3):
num = int(input("数値を入力してください: "))
numbers.append(num)
total = sum(numbers)
print(f"入力された数値の合計は {total} です。")
動作解説
- ユーザーから3つの数値を入力させ、リストに追加します。
sum()
を使ってリスト内の数値を合計します。
4. 練習問題
以下の課題に挑戦してみましょう。
- リストから特定の要素を削除するプログラムを作成してください。
- リスト内の偶数をすべて2乗した新しいリストを生成してください。
5. 練習問題の解答と解説
問1の解答例
# リストから要素を削除
fruits = ["apple", "banana", "cherry"]
fruits.remove("banana")
print(fruits) # 出力: ['apple', 'cherry']
問2の解答例
# 偶数を2乗する新しいリストを生成
numbers = [1, 2, 3, 4, 5, 6]
squared_evens = [x**2 for x in numbers if x % 2 == 0]
print(squared_evens) # 出力: [4, 16, 36]
6. まとめ
Pythonのリストの基本操作と応用を学びました。リストを活用することで、複雑なデータ処理も簡単に行うことができます。これらのスキルを活かして、より高度なプログラムに挑戦してください。