1ヶ月でWebデザイン・プログラミングスキルをオーダーメイドのカリキュラムで学べるスクール、それがWebCamp。

子供の想像力を伸ばしアイデアを形にする小学生向けプログラミング教室「プロスタキッズ」

Python超入門その6〜リストやタプル、セット、ディクショナリを正しく使おう〜

Pocket

はじめに

Pythonのプログラミングには慣れてきましたか?

プログラミングではひとつひとつの値(データ)だけではなく、複数のデータのまとまりを扱うことも数多くあります。

データのまとまりを扱う型は複数あり、データの特性に応じて使い分ける必要があります。

この記事では、Python初心者の方向けに、リストやタプル、セット、ディクショナリについてお伝えしていきます。

それぞれの違いを理解して、適切に使い分けていきましょう。

リスト(list)

特徴

リストは、他の言語でいうところの配列に近い存在です。

複数の値を順序付けて格納することができ、異なるデータ型を混在させることも可能です。

とはいえ、一般的には同じデータ型の値を格納することが多いでしょう。

リストは可変(ミュータブル)なので、作成後に格納されている値を変更することができます。

どのような場合に使用するか?

リストは汎用性が高く、幅広い用途に使用できます。

まとまりのあるデータを順序付けて保存しておきたいときに役に立つでしょう。

また、リストを返す関数も数多くあります。

リテラル表記

リストのリテラル表記は、C系の言語の配列と同様にカッコを使います。

カッコ中には、カンマ区切りで任意のデータ型を記述できます。

リスト自身もリスト中に含めることができ、リストのリストを作成することも可能です。

タプル(tuple)

特徴

タプルは、リストに似たデータ型です。

リストと違う点は、不変(イミュータブル)であることです。

つまり、作成したら後から格納した値を変更することはできません。

不便なように思いますが、決して変更されないという特徴はバグを防いでくれます。

どのような場合に使用するか?

タプルは、関数から複数の戻り値を返す場合によく使われます。返した値が変更されないようにしたい場合、タプルは最適な選択肢です。変更しなくてもよいデータは、極力タプルで返すべきでしょう。

リテラル表記

リストと同じく、タプルでも異なるデータ型を混在させることができます。

注意点としては、要素がひとつのタプルを作る場合でも、カンマが必須だということです。

カンマを入れないと、タプルとして認識されません。

セット(set)

特徴

セットは、重複なしのデータの集合です。

そのため、セット内には同じ値はひとつしか存在できません。

同じ値を追加しても無視されるだけです。

また、データの並びではなく集合であるため、順序がないことに注意が必要です。

どのような場合に使用するか?

重複させたくないデータを保存する場合や重複を無視したい場合などに最適です。

セットは、集合論に基づいており、セットどうしの和や差なども求められます。

リテラル表記

セットのリテラル表記は、波括弧を使います。

一般的には同種のデータ型を格納する場合が多いですが、異なるデータ型を混在させても問題ありません。

ディクショナリ(dict)

特徴

ディクショナリは、辞書の目次のようなデータ型です。

キーと値を紐付けて保存し、値を取得する際にはキーを指定します。

値はキーから算出したハッシュ値により管理されているため、要素数が増えても高速にアクセスできます。

なお、セットと同様に順序がないことに注意が必要です。

どのような場合に使用するか?

ディクショナリは、値に名前をつけて保存しておきたい場合や値ペアに最適です。

たとえば、項目名と値が対応付けられているテーブル形式のデータなどです。

キーには数値や文字列など任意の型が使えるため、さまざまな用途に活用できます。

また、値も任意のデータ型が使用でき、リストなどを持たせて複数の値を格納することも可能です。

リテラル表記

ディクショナリの場合は、波括弧内にカンマで区切ったキーと値のペアを記述します。

キーと値はコロンで区切ります。文字列をキーにする場合には、ダブルクオーテーション(またはシングルクォーテーション)で囲うのを忘れないようにしましょう。

まとめ

データのまとまりを扱うために複数の型が用意されているのは、それぞれに役割があるからです。

誤ったデータ型を適用するとプログラミングが難しくなってしまいますので、適切な型を選びましょう。

投稿者:プロスタ編集部

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

初心者がプログラミングで挫折しない学習方法を無料動画で公開中。オンラインに特化したプログラミングスクール「TechAcademy(テックアカデミー)」が解説。

この記事が気に入ったら
いいね!しよう

プロスタの最新情報をお届けします

あわせて読みたい

関連記事

ページ上部へ戻る