トップページ -> Python入門 基礎編 -> 色々なデータ型を扱おう

色々なデータ型を扱おう!

前回はプログラミングにおいてデータ型が重要であることを学びました. int,str,float型だけでなく,Pythonには様々なデータ型があります. ここで紹介するものはすべて複雑なデータ構造を表現する場合に用いられます. いくつかの例を見てみましょう.

  1. list型

    1つ目はlist型です.複数のデータをまとめて管理するときに用います. listは[]を用いて定義されます. 以下のコードを見てください.
    
    my_list = ["サンマ","アジ","サバ","カマス","タチウオ"]
    print(my_list)
    
    魚のリストを表示
    魚のリストを作ってみました.リストの要素にはmy_list[要素の番号]のようにしてアクセスすることができます.
    
    my_list = ["サンマ","アジ","サバ","カマス","タチウオ"]
    print(my_list[0])
    print(my_list[1])
    print(my_list[2])
    print(my_list[-1])
    
    リストの要素にアクセス
    ここで注意していただきたいのが,リストの要素の番号は左から順に0番から始まっているということです. 慣れないうちは間違えやすいので注意しましょう. また,右から順に -1,-2,-3と参照していくこともできます. さらにlistの中身は自由に書き換えることができます. my_list[3] つまり "カマス" を "サワラ" に書き換えます.
    
    my_list = ["サンマ","アジ","サバ","カマス","タチウオ"]
    print(my_list[3]) # 書き換える前なのでカマス
    my_list[3] = "サワラ"
    print(my_list[3]) # 書き換えた後なのでサワラ
    
    リストの要素を書き換え
    要素が書き変わっていることがわかりますね. 最後に要素を持たないリストを作ってみましょう. やり方は簡単です.以下のコードを見てください.
    
    empty_list = []
    
    要素を書き込まなければ空のリストを作ることができます. 実際のプログラムではリストを空に初期化してから要素を追加していく方法を取ることも多いです. 要素の追加については後々解説します.
  2. dict型

    2つ目はdict型です.dict型は以下のように{}を用いて定義します. まずは,実際のコードを見てみましょう.
    
    my_dict = {"サンマ":"100円","アジ":"120円","サバ":"80円","カマス":"90円"}
    print(my_dict)
    
    漁師さんに怒られてしまいそうな値付けですが,魚と値段の辞書を作ってみました. my_dict = {キー1:値1, キー2:値2, …} のようにすることでdictを定義します. それぞれの値にはキーを使ってアクセスすることができます.
    
    my_dict = {"サンマ":"100円","アジ":"120円","サバ":"80円","カマス":"90円"}
    print(my_dict["アジ"])
    
    アジの値段 辞書
    アジの値段が表示されましたね. 残念ながら辞書型は値からキーにアクセスすることはできません. list型のようにキーから値にアクセスして値を変えることができます.
    
    my_dict = {"サンマ":"100円","アジ":"120円","サバ":"80円","カマス":"90円"}
    print(my_dict["サンマ"]) # 変更前なので100円
    my_dict["サンマ"] = "300円"
    print(my_dict["サンマ"]) # 変更後なので300円
    
    値段の変更
    値の変更が簡単に行えました.
  3. set型

    set型は{}を用いて定義します. 以下のコードを見てください.
    
    my_set = {1,2,3,4,5}
    print(my_set)
    
    set型には2つ特徴があります. 一つ目の特徴から確認しましょう. わざと,同じ要素を入れてみます.
    
    my_set = {1,2,2,3,3,3,4,4,4,4}
    print(my_set)
    
    setと重複
    以下のように重複した要素が取り除かれています. 2つ目の特徴についても確認してみましょう. 次のコードはエラーを起こします.
    
    my_set = {1,2,3,4,5}
    print(my_set[0])
    
    エラーを起こす
    set型は順番を持たないため,"0番目"の要素にアクセスできないのです. set型には便利な使い方が色々あるのですが,1つ目の特徴を使ってlist型から重複を取り除いてみたいと思います. こんな使い方ができるのか くらいでコードを眺めてみてください.
    
    my_list = [1,2,2,3,3,3,4,4,4,4]
    my_set = set(my_list) # リスト型をセット型に変換
    my_list = list(my_set) # セット型を再びリストに戻す
    print(my_list)
    
    list set list
    重複ありのリストから重複なしのリストを得ることができました.
  4. tuple型

    最後のデータ型はtuple型です. tuple型は()を用いて定義します. tuple型は要素の追加 削除 変更を許しません.
    
    my_tuple = (1,2,3)
    print(my_tuple)
    
    tuple型もlist型のように要素の番号を使って要素にアクセスすることができます.
    
    my_tuple = (1,2,3)
    print(my_tuple[1])
    
    要素の変更を許さないため以下のコードはエラーを起こします.
    
    my_tuple = (1,2,3)
    my_tuple[1] = 100
    
    tupleとエラー
    tuple型は追加 削除 変更ができないという特性を活かして変更を加える必要のないものを扱うときに利用されます. list型でこれらのものを扱おうとすると,知らぬ間に要素が変更されていたにも関わらずエラーが起きず気づかないということがありますが, tupleを利用することで予期せぬ変更に気づくことができるようになります.
今回はlist dict set tuple の4つのデータ型について学びました. 4つのデータ型の違いを理解し,使い分けられるようになるとプログラミングが簡単になります. 次回はデータ型に付随する操作 メソッドについて解説します.

<- 前へ戻る 【目次に戻る】 次へ進む ->