pythonでdictionaryを扱うとき、追加や削除、検索など様々な方法があります。
今回は僕が学んだ追加・検索機能についてまとめました!
dictionaryの追加機能
dictionaryの追加機能は二通りあります。(以下サイトから引用)
(1)イコールで追加する方法
mydict = {"apple":1, "orange":2, "banana":3}
mydict["peach"] = 4
print(mydict)
#{"apple":1, "orange":2, "banana":3, "peach":4}
mydict={}で空のdictionaryを作成して、for文でどんどん追加していくこともできます。
また、xとyを変数として
def dic(x,y):
mydict[x]=y
という関数も作成できました。
(2)setdefaultメソッドを使って追加する方法
mydict = {"apple":1, "orange":2, "banana":3}
mydict.setdefault("peach", 4)
print(mydict)
#{"apple":1, "orange":2, "banana":3, "peach":4}
dictionaryの検索機能
こちらもサイトから引用。
mydict = {"apple":1, "orange":2, "banana":3}
print("orange" in mydict.keys())
結果は
True
で返ってきました。
もちろん、検索して存在しない場合は、Falseで返ってきます。
**
shiracamusさんより、こちらでも同様の結果が得られるようです!
mydict = {"apple":1, "orange":2, "banana":3}
print("orange" in mydict)
#True
if文で、あった場合、無かった場合で挙動をつけたい場合は、当たり前ですが、
if (key in mydict.keys())==True:
または
if (key in mydict.keys())==False:
で上手く作動します。
**
こちらもshiracamusさんより
以下引用
これはお勧めできない書き方です。
こう書きましょう。
if key in mydict.keys():
または
if key in mydict.keys():
参考: PEP8: Python コードのスタイルガイド
ブール型の値と True や False を比較するのに == を使うのはやめましょう。:
良い: if greeting:
悪い: if greeting == True:
もっと悪い: if greeting is True:
他の方法もたくさんあると思うので、ご存知の方は是非コメントよろしくお願いします!
引用