0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

第2回:Pythonのデータ構造と関数

Posted at

前回の記事 ⇒ 第1回:Pythonの基礎用語と文法

第2回では、Pythonのプログラミングで頻繁に使用するデータ構造と、効率的にコードを組み立てるための「関数」の概念について解説する。
データ構造は、データを整理・格納・操作するための方法であり、Pythonにはさまざまなデータ構造が用意されています。これらのデータ構造と関数を理解することで、より効率的かつ柔軟なコードが書けるようになる。

目次

1.データ構造の基礎
 リスト(list):リストの作成、アクセス、要素の追加/削除
 タプル(tuple):リストとの違い、変更不可の性質
 辞書(dict):キーと値のペアによるデータの管理
 集合(set):重複しないデータの集合と操作
2.関数
 関数の定義と呼び出し:defキーワードと基本的な使い方
 引数と返り値:引数の指定方法と返り値の使い方
 スコープ:変数のスコープ(ローカルとグローバル)
3.ラムダ関数とリスト内包表記
 ラムダ関数:短い無名関数の作成方法
 リスト内包表記:forループを使わないリスト作成

1.データ構造の基礎

Pythonには、いくつかの主要なデータ構造があり、それぞれ異なる特徴と用途がある。
リスト(list):
リストは、複数の要素を一括で管理できるデータ構造で、変更が可能です。要素にはインデックス(0から始まる番号)でアクセスできます。

example.py
fruits = ["apple", "banana", "cherry"]
print(fruits[1])  # 出力: banana

要素の追加/削除:
要素を追加するには append() を、削除するには remove() または pop() を使います。

example.py
fruits.append("orange")  # ["apple", "banana", "cherry", "orange"]
fruits.remove("banana")  # ["apple", "cherry", "orange"]

タプル(tuple):
タプルはリストと似ていますが、要素を変更できないため、変更が不要なデータに向いています。

example.py
coordinates = (10, 20)
print(coordinates[0])  # 出力: 10

辞書(dict):
辞書は、キーと値のペアでデータを管理するデータ構造です。キーを使って要素にアクセスできます。

example.py
student = {"name": "Alice", "age": 25}
print(student["name"])  # 出力: Alice

要素の追加/削除
新しいキーと値のペアを追加するには dict[key] = value、削除するには del dict[key] を使います。

example.py
student["grade"] = "A"  # {"name": "Alice", "age": 25, "grade": "A"}
del student["age"]  # {"name": "Alice", "grade": "A"}

集合(set):
集合は、重複しない要素を管理するデータ構造です。要素の順序は保証されません。

example.py
unique_numbers = {1, 2, 3, 3, 4}
print(unique_numbers)  # 出力: {1, 2, 3, 4}

2.関数

関数は、特定の処理をまとめて再利用できるブロックです。繰り返し行う処理や、他の箇所でも使用する処理を関数として定義することで、コードをシンプルに保つことができます。

関数の定義と呼び出し:
def キーワードを使って関数を定義します。

example.py
def greet():
    print("Hello, world!")

greet()  # 出力: Hello, world!

引数と返り値:
関数には引数を渡すことができ、処理の結果を返り値として返すことも可能です。

example.py
def add(a, b):
    return a + b

result = add(5, 3)  # 出力: 8

スコープ(範囲):
変数のスコープとは、変数が使える範囲のことです。関数内で定義された変数はローカルスコープに属し、関数外で定義された変数はグローバルスコープに属します。

example.py
x = 10  # グローバルスコープ

def my_function():
    x = 5  # ローカルスコープ
    print(x)  # 出力: 5

my_function()
print(x)  # 出力: 10

3.ラムダ関数とリスト内包表記

ラムダ関数:
ラムダ関数は、短い無名関数を簡潔に書く方法です。特に一時的な関数が必要な場合に便利です。

example.py
square = lambda x: x * x
print(square(5))  # 出力: 25

リスト内包表記:
リスト内包表記は、簡潔にリストを生成する方法です。通常のforループを使うよりも、シンプルで読みやすいコードが書けます。

example.py
numbers = [1, 2, 3, 4]
squares = [x * x for x in numbers]
print(squares)  # 出力: [1, 4, 9, 16]

4.まとめ

第2回では、Pythonのデータ構造(リスト、タプル、辞書、集合)と関数について学びました。これらを組み合わせることで、プログラムが柔軟で再利用可能になり、効率的な開発が可能になります。
次回は、オブジェクト指向やモジュール、エラー処理など、より高度なPythonの使い方について解説します。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?