Python はじめました:dict.get

記事一覧

Python.use(better) # Python はじめました
dict.get

《著》小粒ちゃん+α《監修》小泉ひよ子とタマゴ倶楽部
第0版♪2001/03/02 ● 第1版♪2003/05/25 ● 第2版♪2004/06/01 ● 第3版♪2009/02/28


dict.get〈Python 3.0 版〉

get(key[, default])¶

>>> print(dict.get.__doc__)
D.get(k[,d]) -> D[k] if k in D, else d.  d defaults to None.

引数に指定したキー key に対応する値が得られます。指定したキー key が存在しないときには、引数 default が値として得られます。ただし、引数 default を省略すると、None が値として得られます。

def ex():
    m = dict((e,ord(e)) for e in "ABC")
    s = "m"
    print(">>>",s)
    print(eval(s))
    s = "m"
    for e in "ABC@":
        s = "m.get({0!r})".format(e)
        print(">>>",s)
        print(eval(s))
    s = "m.get('@', 0)"
    print(">>>",s)
    print(eval(s))

% python3.0 -i ex_dict.py 
>>> ex()
>>> m
{'A': 65, 'C': 67, 'B': 66}
>>> m.get('A')
65
>>> m.get('B')
66
>>> m.get('C')
67
>>> m.get('@')
None
>>> m.get('@', 0)
0

指定したキー "@" は存在しないので、値として None および 0 が得られるのが分かります。

dict.get〈Python 2.x 版〉

Python 3.0 版〉と同様です。

def ex():
    m = dict((e,ord(e)) for e in "ABC")
    s = "m"
    print ">>>",s
    print eval(s)
    s = "m"
    for e in "ABC@":
        s = "m.get(%r)"%e
        print ">>>",s
        print eval(s)
    s = "m.get('@', 0)"
    print ">>>",s
    print eval(s)

% python2.6 -i ex_dict.py 
>>> ex()
>>> m
{'A': 65, 'C': 67, 'B': 66}
>>> m.get('A')
65
>>> m.get('B')
66
>>> m.get('C')
67
>>> m.get('@')
None
>>> m.get('@', 0)
0

TOP


関連記事

Last updated♪09/03/16