2020-02-11

辞書型 - python

keyと値を : でつなぎ、セットで格納する。
, で区切って { } で囲む。
dicA = { 'apple':'red', 'banana':'yellow', 'peach':'pink' }
print( dicA )

#type()で型を確認
print( type(dicA) )

#出力
# {'apple': 'red', 'banana': 'yellow', 'peach': 'pink'}
# <class 'dict'>

値を取り出すときは [ ] でkeyを指定する。
dicA = { 'apple':'red', 'banana':'yellow', 'peach':'pink' }
print( dicA['apple'] )
print( dicA['peach'] )

#出力
# red
# pink

[ ] でkeyを指定して代入すると値を変更できる。
新しいkeyを指定して代入すると辞書型に追加される。
dicA = { 'apple':'red', 'banana':'yellow', 'peach':'pink' }
print( dicA )

dicA['apple'] = 'green'
print( dicA )

dicA['melon'] = 'green'
print( dicA )

#出力
# {'apple': 'red', 'banana': 'yellow', 'peach': 'pink'}
# {'apple': 'green', 'banana': 'yellow', 'peach': 'pink'}
# {'apple': 'green', 'banana': 'yellow', 'peach': 'pink', 'melon': 'green'}

.keys() でkeyのみのリストを、
.values() で値のみのリストを、
.items() でkeyと値のタプルのリストを取り出せる。
dicA = { 'apple':'red', 'banana':'yellow', 'peach':'pink' }

print( dicA.keys() )
print( dicA.values() )
print( dicA.items() )

#通常のリストと違い番号指定では取り出せない
print( dicA.keys()[0] )

#出力
# dict_keys(['apple', 'banana', 'peach'])
# dict_values(['red', 'yellow', 'pink'])
# dict_items([('apple', 'red'), ('banana', 'yellow'), ('peach', 'pink')])

# TypeError: 'dict_keys' object does not support indexing

in を使った判定や forループで使う。
dicA = { 'apple':'red', 'banana':'yellow', 'peach':'pink' }

print( 'banana' in dicA.keys() )
print( 'green' in dicA.values() )

#.items()はforループで使うと便利
for k, v in dicA.items():
    print( k + ' - ' + v )

#出力
# True
# False

# apple - red
# banana - yellow
# peach - pink

keyを指定して削除するときは del または .pop()
全て削除するときは .clear()
dicA = { 'apple':'red', 'banana':'yellow', 'peach':'pink' }
print( dicA )

del dicA['apple']
print( dicA )

print( dicA.pop('peach') )    #.pop()は削除する値を返す
print(dicA)

dicA.clear()
print(dicA)

#出力
# {'apple': 'red', 'banana': 'yellow', 'peach': 'pink'}

# {'banana': 'yellow', 'peach': 'pink'}

# pink
# {'banana': 'yellow'}

#{}


0 件のコメント:

コメントを投稿