3
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Python3 初心者 辞書

Posted at

#辞書
辞書はリストと同様ミュータブルである。要素の追加、削除、変換などができる。ただし大きく変わっている点がある。それはオフセットがキーになると言うところである。キーとは一つ一つの要素に名前をつけると言うことです。しかし帰ってくるねはランダムである。
例えばリストでは

['Lou', '080-1234-5678', 'example.com']

と言うリストがあったとしよう。これは見ただけでわかるかもしれないが、その要素が確実に名前、電話番号、メールアドレスだとは確証できない。ここで辞書を使おう。

{'name': 'Lou', 'adress': '080-1234-5678', 'mailadress': 'example.com'}

こうすれば何が何かわかるでしょ!!これが辞書の強みです!!もっと具体的に辞書の使い方について説明していきます。ちなみに辞書の作り方は先ほどの通り{}で要素をデータ構造にまとめることが出来ます。
## 辞書の表現方法

key: value
#まとめて
items

dict()による変換

辞書は英語でdictionaryです。だから略してdict()って自分は考えてます笑笑
dict()関数を使えば先頭をkey、後方をvalueとして考えて変換してくれます。

gakki = [['g', 'guitar'], ['p', 'piano'], ['d', 'dram']]
dict(gakki)
{'p': 'piano', 'g': 'guitar', 'd': 'dram'}

と言う風に変換できます。他にも

#2字の文字列のリスト
gakki=('gguitar', 'ppiano', 'ddram')
dict(gakki)
{'g': 'guitar', 'd': 'dram', 'p': 'piano'}
#他にも2文の文字列のタプル2要素のリストのタプルがある。

##[key]で要素の追加や変換を行う

my_introduce = {'name': 'Lou', 'adress': '080-1234-5678', 'mailadress': 'example.com'}
my_introduce 
{'name': 'Lou', 'adress': '080-1234-5678', 'mailadress': 'example.com'}
#あ、そういえばなんか忘れてたなー。あー好きな食べ物だ!
my_introduce['food'] = 'Sushi'
my_introduce
{'food': 'Sushi', 'adress': '080-1234-5678', 'name': 'Lou', 'mailadress': 'example.com'}

今何をしたかわかりましたか!?my_introduceに[追加したいものの(key)]=追加したい(value)
で完了です!!!また変換も同様でmy_introduce[変更したい(key)]=変換したいもの(value)でできます!!
また、辞書名[key]で要素を取得しましょう

my_introduce['name']
'Lou'

update()による辞書の結合

my_introduce2={'hobby': 'Qiita', 'sport': 'tennis'}
my_introduce.update(my_introduce2)
my_introduce
{'hobby': 'Qiita', 'adress': '080-1234-5678', 'food': 'Sushi', 'mailadress': 'example.com', 'sport': 'tennis'}

delによる指定したキーが持っている要素の削除

del my_introduce['sport']
{'hobby': 'Qiita', 'adress': '080-1234-5678', 'food': 'Sushi', 'mailadress': 'example.com'}

clear()を使えば全ての要素を削除してしまいますので慎重に考えて実行してください!!!

inを使ったキーの有無のテスト

やっぱりユーザーがnameに要素を入れてなかったら気になっちゃうよね?!だからinを使って確認してみよう

'hobby' in my_introduce
True
'sport' in my_introduce
False

##取得シリーズ
取得するものの結果は全てタプルである。しかしここで問題がある。返ってくるものは関数dict_key()と言う関数を含むタプルができる。詳細はkeys()による全てのキーの取得の時に言いますね!
###keys()による全てのキーの取得

my_introduce.keys()
dict_keys(['hobby', 'adress', 'food', 'mailadress'])

これはただ結果を見たいだけならこのままでいいが色々としたいならlist()を使えば本当のリストに変身できる。

list(my_introduce.keys())
['hobby', 'adress', 'food', 'mailadress']

と言う風にできる。このようにしていけば
value()は全ての要素を、items()は全てのキーと要素を取り出してくれる。

items()を使ってみよう!!

list(my_introduce.items())
[('hobby', 'Qiita'), ('adress', '080-1234-5678'), ('food', 'Sushi'), ('mailadress', 'example.com')]

個々のキーと値のペアは()のなかにタプル形式に返される。

3
5
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?