2
0

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 3 years have passed since last update.

Python2.7の辞書型の要素取得方法

Last updated at Posted at 2020-03-04

#Python2.7の辞書型の要素を取得する方法

辞書についてよくわかってないのでメモ代わりです。
2.7なのは、私がPythonを利用するメイン環境がMotionBuilderだからです。

##in
###key in dictionary

dictionary = {"key1":"value1","key2":"value2","key3":"value3"}
print("key1" in dictionary)

#True

指定のkeyの項目が存在するかどうかがboolで返ります。
###key in dictionary.values()

dictionary = {"key1":"value1","key2":"value2","key3":"value3"}
print ("key1" in dictionary.values())
print ("value1" in dictionary.values())

#False
#True

こちらは指定のValueが存在するかどうかがboolで返ります。
##スライスとget()による取得
スライスとは[]での取得の事
###dictionary[key]

dictionary = {"key1":"value1","key2":"value2","key3":"value3"}
print (dictionary["key1"])

#value1

###dictionary.get(key)

dictionary = {"key1":"value1","key2":"value2","key3":"value3"}
print (dictionary.get("key1"))

#value1

どちらもvalueが取得できることには差がないが、対象がなかった時のふるまいが異なる。
スライスの場合はエラー、get()の場合はNoneが返ってくる


print (dictionary.get("key4"))

#None

指定のkeyが存在しない場合の戻り値をあらかじめ準備も可能

print (dictionary.get("key4","no value"))

#no value

##keys()

dictionary = {"key1":"value1","key2":"value2","key3":"value3"}
print(dictionary.keys())

#['key3', 'key2', 'key1']

値はリストで取得される。なんで末尾から取得されるのか少し調べてみたがわからない。
知ってる人がいたら教えてほしい。

##value()

dictionary = {"key1":"value1","key2":"value2","key3":"value3"}
print(dictionary.values())

#['value3', 'value2', 'value1']

こちらも値はリストで取得される

##items()


dictionary = {"key1":"value1","key2":"value2","key3":"value3"}
print(dictionary.items())

[('key3', 'value3'), ('key2', 'value2'), ('key1', 'value1')]

keyとvalueを同時に取得できる。リスト内の各要素はタプルになります。

##iteritems()


dictionary = {"key1":"value1","key2":"value2","key3":"value3"}
for k, v in dictionary.iteritems():
    print k,v

#key3 value3
#key2 value2
#key1 value1

こちらもkeyとvalueを同時に取得できる。
for文で回す場合はこちらを利用するようだ。
python3系のitems()はデフォルトでこちらを返すようです。

##まとめ
辞書型は苦手だったが、こうしてまとめてみたことで自分自身でも少し整理できた気がする。
値が末尾から取得される件を改めて調べたい。

##参考にしたページ
https://qiita.com/jinshi/items/9f0f7ae716bce77a1b8a
https://www.headboost.jp/python-dict-keys-tips/

2
0
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
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?