コンテナ
Contents
コンテナ
代入演算子のところで、変数に 10 を保存しました。コンテナには、データ構造を持ちながら 「10」 などのようなオブジェクトを保存することができます。代表的なコンテナは次のようなものです。
- リスト
- タプル
- 辞書
リスト
空のリスト作成
list関数を用いてリストを作成するか、角括弧[]を用いて作成します。
# 空のリストを作成する。
a = list()
print(a)[]# 空のリストを作成する。
b = []
print(b)[]要素ごとリストの作成
# 要素とともにリストを作成する
member = ['Academian', 'nuts']
print(member)['Academian', 'nuts']リストの要素取り出し
リストの要素を取り出すことができます。取り出すには、取り出したい要素の「インデックス」を指定します。このインデックスは 0 から始まって数えられていることに注意してください。memberのインデックス 0 の要素、1 の要素がどうなっているか見てみましょう。
# member のインデックス 0 は Academian
member[0]'Academian'# member のインデックス 1 は nuts
member[1]'nuts'リストに要素を追加
すでに存在しているリストに要素を追加するにはappendメソッドを使います。appendメソッドはリストの末尾に要素を追加します。 「メソッド」とはデータ型に関連付いている関数のことです。「関数」については後述します。
member.append('phys')
print(member)['Academian', 'nuts', 'phys']リストから要素の除去
リストから要素を取り除くにはpopメソッドを使います。popメソッドはリストの末尾の要素を取り除きます。
member.pop()
print(member)['Academian', 'nuts']リストの要素数を取得するにはlen関数を使います。
len(member)2タプル
空のタプル作成
tuple関数を用いてタプルを作成するか、丸括弧()を用いて作成します。
# 空のタプルを作成する
a = tuple()
print(a)()b = ()
print(b)()要素ごとタプルの作成
# 要素とともにタプルを作成する
area = ('Kanto', 'Tohoku', 'Kansai')
print(area)('Kanto', 'Tohoku', 'Kansai')タプルの要素取り出し
タプルもリストと同様にインデックスを指定して要素を取り出すことができます。
area[0]'Kanto'リストとタプルの違い
リストとタプルは以下の点で違いがあります。
- リストは要素を追加・削除・変更が可能である一方、タプルは一度作成されると要素の追加・削除・変更はできない
- タプルは辞書型のキーに用いることができる
辞書
空の辞書作成
辞書は2つのオブジェクトを関連付けて保持するコンテナです。 dict関数を用いて辞書を作成するか、波括弧{}を用いて作成します。
# 空の辞書を作成する
a = dict()
print(a){}b ={}
print(b){}要素ごと辞書の作成
辞書は2つのオブジェクトを関連付けて保持することができます。オブジェクトの1つを「キー(key)」と呼び、もう1つを「ヴァリュー(value)」と呼びます。基本的な書き方は以下の通りです。
dict = { key_1: value_1, key_2: value_2}関連付けるオブジェクトの組はオブジェクト同士をコロン(:)で結び、関連付けるオブジェクトの組が複数ある場合はカンマで並べます。
# 要素とともに辞書を作成する
song = {'Queen': 'Bohemian Rhapsody'}
print(song){'Queen': 'Bohemian Rhapsody'}辞書に要素を追加
すでに存在している辞書にオブジェクトの組を追加する場合は次のようにします。
song['Micheal Jackson'] = 'Billie Jean'
print(song){'Queen': 'Bohemian Rhapsody', 'Micheal Jackson': 'Billie Jean'}辞書の要素取り出し
すでに存在している辞書のvalueを取得したい場合は次のようにします。
song['Queen']'Bohemian Rhapsody'辞書のkeyを取得したい場合はkeysメソッドを使います。これはdict_keysというデータ型を返します。
song.keys()dict_keys(['Queen', 'Micheal Jackson'])辞書のvalueを取得したい場合はvaluesメソッドを使います。これはdict_valuesというデータ型を返します。
song.values()辞書から要素の除去
すでに存在している辞書のオブジェクトの組を削除する場合はdelキーワードを使います。
del song['Micheal Jackson']
print(song)dict_values(['Bohemian Rhapsody', 'Billie Jean'])