Pythonの基礎

Python の集合(set)

set は各値を 1 回だけ保存し、「この値はここにある?」をとても速く調べられます。重複を消すのに便利です。

の集合(set)とは?

set は各値を 1 回だけ保存し、「この値はここにある?」をとても速く調べられます。重複を消すのに便利です。

Python の set で重複しない値を管理し、union と intersection で集合を組み合わせます。

どのような場面で使う?

  • 実行できるコードでPython構文を学ぶ。
  • より大きな課題に必要な基礎を身につける。
  • ローカル環境なしでアイデアを試す。

動きで理解する

演算を選ぶと、結果が図の中で強調されます。すでに入っている値を追加すると、重複が無視されることがわかります。

サンプルコード

コードを実行 →
main.py
# A set stores unique values with no fixed order.
tags = {"python", "code", "python", "learn"}
print(len(tags))                 # the duplicate "python" is kept once
print("code" in tags)            # fast membership test

tags.add("fun")
tags.discard("code")
print(sorted(tags))

# Remove duplicates from a list.
numbers = [3, 1, 3, 2, 1]
print(sorted(set(numbers)))

# Set operations.
a = {1, 2, 3, 4}
b = {3, 4, 5}
print(a | b)   # union: in either set
print(a & b)   # intersection: in both
print(a - b)   # difference: in a but not in b

期待される出力

3
True
['fun', 'learn', 'python']
[1, 2, 3]
{1, 2, 3, 4, 5}
{3, 4}
{1, 2}

仕組み

set には決まった順番がないので、安定した表示には sorted() を使います。| は union、& は intersection、- は 2 つの set の差を作ります。

値を変更し、PythonをインストールせずにCodeUtilityオンラインPythonコンパイラで実行できます。

練習問題

入力値と境界ケースを変更し、より大きなデータでも動作を確認してください。

  1. 実行前に出力を予測する。
  2. 空または不正な入力を処理する。
  3. 処理を関数化し、テストケースを追加する。
Python IDEで実行 →

チャレンジで練習する

このレッスンの内容を使って実際の問題を解きましょう。各チャレンジはブラウザで動き、すぐにテストされ、AI のレビューも受けられます。

すべてのチャレンジ