# 24.辞書型
print('===============================')
print('---------------')
d = {'x': 10, 'y': 20}
                    # 辞書型は'{}'でキーとバリューを表現する
print(d)
print(type(d))

print(d['x'])       # キーを使ってバリューを表示する
print(d['y'])

d['x'] = 100        # 上書きすることもできる
print(d['x'])

d['x'] = 'xxxxx'    # 文字列を入れることもできる
print(d)
d['z'] = 1000       # 新しいキーを使って追加することができる
print(d)

d[1] = 10000        # キーには数字も使える
print(d)


# 25.辞書型のメソッド
print('===============================')
print('---------------')

d = {'x': 10, 'y': 20}
                    # 辞書型の変数を作る
print(d['x'])

print(d.keys())     # keys:辞書のキーを表示する
print(d.values())   # values:辞書のバリューを表示する

d2 = {'x': 1000, 'j': 500}
                    # 新しい辞書d2を作る
print(d2)

d.update(d2)        # 新しい辞書d2で上書する

print(d)

print(d.get('x'))   # get:キーを使って辞書の値を取り出す

print('---------------')
print(d.pop('x'))   # pop:辞書の値を取り出す
print(d)


del d['y']          # del:辞書の要素を削除する
print(d)

print('---------------')
d = {'a': 100, 'b': 200}
                    # もう一度辞書を定義する
print('a' in d)     # 辞書の中に、キー'a'はあるか？
print('j' in d)     # 辞書の中に、キー'j'はあるか？


# 26.辞書のコピー
print('===============================')
print('---------------')
x = {'a': 1}        # 辞書を作る
y = x               # yに辞書をコピーする
print(x)
print(y)

y['a'] = 1000
# コピーした辞書は参照渡しになるので、値を入れると元の辞書も上書される。

print(x)
print(y)

y = x.copy()        # copy:辞書の中身をコピーする
y['a'] = 1          # copyすれば、元の辞書は上書されない

print(x)
print(y)

# 27.辞書の使いどころ
# オンラインストアで果物を売るアプリを考える
print('===============================')
print('---------------')
fruits = {          # フルーツと値段の辞書
    'apple': 100,
    'banana': 200,
    'orange': 300,
}

print(fruits)
print(fruits['apple'])
                    # キーを使ってappleの値段を表示する
print('===============================')
print('---------------')

