Python

【Python】第1章第6回:リスト(list)の基本操作と応用

Pythonのリスト(list)は、複数のデータを扱う際に便利なデータ型です。本記事では、リストの基本操作から応用的な使い方までを解説します。

0. 記事の概要

この記事を読むメリット

  • リストの基本操作を理解:リストの作成、要素の追加・削除方法を学べます。
  • 応用的な操作を習得:リスト内包表記やソートなど高度な操作に挑戦できます。
  • 実用的なスキルを取得:リストを活用した実用的なプログラムが書けるようになります。

この記事で学べること

  • リストの基本操作(追加、削除、インデックス)
  • リスト内包表記と応用的な操作
  • リストを使った実用的なプログラム

1. リストの基本操作

1.1 リストの作成

リストは、角括弧([])で囲んだ複数の要素を持つデータ構造です。

# リストの作成
fruits = ["apple", "banana", "cherry"]
print(fruits)  # 出力: ['apple', 'banana', 'cherry']
動作解説
  1. リストは複数のデータを1つの変数にまとめて格納します。
  2. インデックスを使用して個々の要素にアクセスできます(例: 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'
動作解説
  1. append(): リストの末尾に新しい要素を追加します。
  2. insert(): 指定した位置に要素を挿入します。
  3. remove(): 指定した値を持つ最初の要素を削除します。
  4. 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]
動作解説
  1. sort(): 元のリストを変更して並び替えます。
  2. sorted(): 新しいリストを返し、元のリストは変更されません。

2.2 リスト内包表記

リスト内包表記を使うと、簡潔にリストを生成できます。

# リスト内包表記の例
squared_numbers = [x**2 for x in range(5)]
print(squared_numbers)  # 出力: [0, 1, 4, 9, 16]
動作解説
  1. 内包表記では、簡潔にリストを生成でき、ループ処理や条件式を含む操作が可能です。

3. 実践例:リストを活用したプログラム

リストを使ってユーザーの入力を処理するプログラムを作成します。

# ユーザーから入力された数値をリストとして保存し、その合計を計算
numbers = []

for _ in range(3):
    num = int(input("数値を入力してください: "))
    numbers.append(num)

total = sum(numbers)
print(f"入力された数値の合計は {total} です。")
動作解説
  1. ユーザーから3つの数値を入力させ、リストに追加します。
  2. sum()を使ってリスト内の数値を合計します。

4. 練習問題

以下の課題に挑戦してみましょう。

  1. リストから特定の要素を削除するプログラムを作成してください。
  2. リスト内の偶数をすべて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のリストの基本操作と応用を学びました。リストを活用することで、複雑なデータ処理も簡単に行うことができます。これらのスキルを活かして、より高度なプログラムに挑戦してください。