#タプルと辞書
##タプル
タプルとはデータ型の一つで,リストと似ていますが,要素の追加,削除,変更は行えません.またタプルは,「,」で区切ります.「()」は無くても作れますが基本は「()」で囲みます.なお,タプル同士を繋げて新しいタプルを作ることはできます.
a = ('s', 'w', 'i', 't', 'c', 'h')
print(a)
b = (1, 2)
c = b + a
print(c)
('s', 'w', 'i', 't', 'c', 'h')
(1, 2, 's', 'w', 'i', 't', 'c', 'h')
##辞書
辞書とはデータ型の一つでリストと似ていますが,各要素を値とキーのペアで扱い,それらを「,」で区切って「{}」で囲みます.また,リストと違い順番はありません.ちなみにキーは,文字列だけでなく数値やタプルを使うこともできます.
a = {'日本':4, 'アメリカ':1, 'ニュージーランド':8}#海洋の体積
val = a['日本']
b = {('日本', 4):6,('アメリカ', 1):1,('ニュージーランド', 8):7}#海洋の面積
val2 = b[('ニュージーランド', 8)]
print(val, val2)
print(a)
4 7
{'アメリカ': 1, 'ニュージーランド': 8, '日本': 4}
辞書の基本の書き方は上記の通りです.注意すべき点は要素にアクセスするときは「{}」ではなく「[]」を使うところです.また,存在しないキーにアクセスしようとするとエラーが出ます.
余談ですが,上記のデータは「世界の領海およびEEZの体積と面積ランキング」の一部です.
####inまたはnot in演算子
inまたはnot in演算子を使うとキーがあるのかを調べられます.
a = {'日本':4, 'アメリカ':1, 'ニュージーランド':8}#海洋の体積
con1 = '日本' in a
con2 = '日本' not in a
con3 = 'イギリス' in a
print(con1, con2, con3)
True False False
####get()メソッド
get()メソッドを用いると指定したキーが存在するとその値を,指定したキーが存在しない場合はNoneが返されます.
a = {'日本':4, 'アメリカ':1, 'ニュージーランド':8}#海洋の体積
g1 = a.get('日本')
g2 = a.get('イギリス')
print(g1, g2)
4 None
####dict()
dict()を使い直接辞書を作ったり,リストやタプルを辞書に変換できます.なおこの場合は,文字列でも「'」をつけません.
a = dict(日本 = 4, アメリカ = 1, ニュージーランド = 8)
print(a)
{'日本': 4, 'アメリカ': 1, 'ニュージーランド': 8}
#####zip()
zip()を使ってキーのリストと値のリストを合成して辞書を作ることができます.
key = ['日本', 'アメリカ', 'ニュージーランド']
value = [4, 1, 8]
di = dict(zip(key, value))
print(di)
{'ニュージーランド': 8, '日本': 4, 'アメリカ': 1}
#####タプルのリストを利用する
a = dict( [('日本',4), ('アメリカ',1), ('ニュージーランド',8)] )
print(a)
{'ニュージーランド': 8, '日本': 4, 'アメリカ': 1}
##辞書の操作
###要素の追加
辞書の要素の追加の方法は直接定義する方法とsetdefault()を使う方法の二種類あります.
a = {'大化の改新' : 645}
a['関ヶ原の戦い'] = 1600
print(a)
a.setdefault('日清戦争', 1894)
print(a)
{'大化の改新': 645, '関ヶ原の戦い': 1600}
{'大化の改新': 645, '日清戦争': 1894, '関ヶ原の戦い': 1600}
###要素の削除
辞書の要素を削除する方法はdel文とpop()の二つの方法があります.また,要素全てを削除したいときはclear()を使います.
a = {'大化の改新' : 645, '日清戦争' : 1894, '関ヶ原の戦い' : 1600}
del a['日清戦争']
print(a)
a.pop('関ヶ原の戦い')
print(a)
a.clear()
print(a)
{'関ヶ原の戦い': 1600, '大化の改新': 645}
{'大化の改新': 645}
{}
##リストへの変換
###キーのリストを作る
キーの取得にはkeys()を使います.
a = {'鷹' : '赤','虎' : '黄', 'バッタ' : '緑'}
key = list(a.keys())
print(key)
['バッタ', '鷹', '虎']
###値のリストを作る
値の取得にはvalues()を使います.
a = {'鷹' : '赤','虎' : '黄', 'バッタ' : '緑'}
value = list(a.values())
print(value)
['黄', '緑', '赤']
###要素のリストを作る
要素の取得にはitems()を使います.
a = {'鷹' : '赤','虎' : '黄', 'バッタ' : '緑'}
item = list(a.items())
print(item)
[('鷹', '赤'), ('虎', '黄'), ('バッタ', '緑')]
##最後に
pythonは様々な場面で使われています.自分が何を作りたいかをイメージしながら学んでいきましょう.