前回の記事 ⇒ 第1回:Pythonの基礎用語と文法
第2回では、Pythonのプログラミングで頻繁に使用するデータ構造と、効率的にコードを組み立てるための「関数」の概念について解説する。
データ構造は、データを整理・格納・操作するための方法であり、Pythonにはさまざまなデータ構造が用意されています。これらのデータ構造と関数を理解することで、より効率的かつ柔軟なコードが書けるようになる。
目次
1.データ構造の基礎
リスト(list):リストの作成、アクセス、要素の追加/削除
タプル(tuple):リストとの違い、変更不可の性質
辞書(dict):キーと値のペアによるデータの管理
集合(set):重複しないデータの集合と操作
2.関数
関数の定義と呼び出し:defキーワードと基本的な使い方
引数と返り値:引数の指定方法と返り値の使い方
スコープ:変数のスコープ(ローカルとグローバル)
3.ラムダ関数とリスト内包表記
ラムダ関数:短い無名関数の作成方法
リスト内包表記:forループを使わないリスト作成
1.データ構造の基礎
Pythonには、いくつかの主要なデータ構造があり、それぞれ異なる特徴と用途がある。
リスト(list):
リストは、複数の要素を一括で管理できるデータ構造で、変更が可能です。要素にはインデックス(0から始まる番号)でアクセスできます。
fruits = ["apple", "banana", "cherry"]
print(fruits[1]) # 出力: banana
要素の追加/削除:
要素を追加するには append() を、削除するには remove() または pop() を使います。
fruits.append("orange") # ["apple", "banana", "cherry", "orange"]
fruits.remove("banana") # ["apple", "cherry", "orange"]
タプル(tuple):
タプルはリストと似ていますが、要素を変更できないため、変更が不要なデータに向いています。
coordinates = (10, 20)
print(coordinates[0]) # 出力: 10
辞書(dict):
辞書は、キーと値のペアでデータを管理するデータ構造です。キーを使って要素にアクセスできます。
student = {"name": "Alice", "age": 25}
print(student["name"]) # 出力: Alice
要素の追加/削除
新しいキーと値のペアを追加するには dict[key] = value、削除するには del dict[key] を使います。
student["grade"] = "A" # {"name": "Alice", "age": 25, "grade": "A"}
del student["age"] # {"name": "Alice", "grade": "A"}
集合(set):
集合は、重複しない要素を管理するデータ構造です。要素の順序は保証されません。
unique_numbers = {1, 2, 3, 3, 4}
print(unique_numbers) # 出力: {1, 2, 3, 4}
2.関数
関数は、特定の処理をまとめて再利用できるブロックです。繰り返し行う処理や、他の箇所でも使用する処理を関数として定義することで、コードをシンプルに保つことができます。
関数の定義と呼び出し:
def キーワードを使って関数を定義します。
def greet():
print("Hello, world!")
greet() # 出力: Hello, world!
引数と返り値:
関数には引数を渡すことができ、処理の結果を返り値として返すことも可能です。
def add(a, b):
return a + b
result = add(5, 3) # 出力: 8
スコープ(範囲):
変数のスコープとは、変数が使える範囲のことです。関数内で定義された変数はローカルスコープに属し、関数外で定義された変数はグローバルスコープに属します。
x = 10 # グローバルスコープ
def my_function():
x = 5 # ローカルスコープ
print(x) # 出力: 5
my_function()
print(x) # 出力: 10
3.ラムダ関数とリスト内包表記
ラムダ関数:
ラムダ関数は、短い無名関数を簡潔に書く方法です。特に一時的な関数が必要な場合に便利です。
square = lambda x: x * x
print(square(5)) # 出力: 25
リスト内包表記:
リスト内包表記は、簡潔にリストを生成する方法です。通常のforループを使うよりも、シンプルで読みやすいコードが書けます。
numbers = [1, 2, 3, 4]
squares = [x * x for x in numbers]
print(squares) # 出力: [1, 4, 9, 16]
4.まとめ
第2回では、Pythonのデータ構造(リスト、タプル、辞書、集合)と関数について学びました。これらを組み合わせることで、プログラムが柔軟で再利用可能になり、効率的な開発が可能になります。
次回は、オブジェクト指向やモジュール、エラー処理など、より高度なPythonの使い方について解説します。