辞書を作成する
>>> phonebook={'Alice':'2897','Alan':'0987','Jery':'6754'}
dict関数
>>> items=[('name','Gumby'),('age',42)] >>> d=dict(items) >>> d {'age': 42, 'name': 'Gumby'} >>> d['name'] 'Gumby' >>> d=dict(name='July',age=24) >>> d {'age': 24, 'name': 'July'}
基本的な辞書操作(ほとんどシーケンスに似ています)
len(d)はd内の項目(キーと値のペア)の数を返します
d[k]はそれに関連付けられた数を返しますキー k
d[k]=v の値は、値 v を k
del d[k] に関連付けます。 d のキー k
k を持つ項目を削除します。 d にキー k を持つ項目があるかどうかを確認します
フォーマット文字列
>>> phonebook {'Jery': '6754', 'Alice': '2897', 'Alan': '0987'} >>> "Alan's phone number is %(Alan)s." % phonebook "Alan's phone number is 0987."
メソッド:
clear 辞書内のすべての項目をクリアします
>>> d={} >>> d['name']='Gumby' >>> d['age']=42 >>> d {'age': 42, 'name': 'Gumby'} >>> d.clear() >>> d {} >>> x={} >>> y=x #x和y对应同一个字典 >>> x['key']='value' >>> y {'key': 'value'} >>> x={} #x关联到新的空字典 >>> y {'key': 'value'} >>> x={} >>> y=x >>> x['key']='value' >>> y {'key': 'value'} >>> x.clear() >>> y {}
copy 同じキーと値のペアを持つ新しい辞書を返します (浅いコピー)
>>> x={'name':'admin','machines':['foo','bar','bax']} >>> y=x.copy() >>> y['name']='yhk' #替换值,原字典不受影响 >>> y['machines'].remove('bar') #修改了某个值(原地修改不是替换),原字典会改变 >>> y {'name': 'yhk', 'machines': ['foo', 'bax']} >>> x {'name': 'admin', 'machines': ['foo', 'bax']}
deepcopy 指定された Create を使用して深いコピー
>>> from copy import deepcopy >>> d={} >>> d['name']=['Aly','Bob'] >>> c=d.copy() >>> e=deepcopy(d) >>> d['name'].append('Ageal') >>> c {'name': ['Aly', 'Bob', 'Ageal']} >>> e {'name': ['Aly', 'Bob']}
fromkeysキーを含む新しい辞書、各キーのデフォルトの対応値は none です
>>> {}.fromkeys(['name','age']) {'age': None, 'name': None} >>> dict.fromkeys(['name','age']) {'age': None, 'name': None} >>> dict.fromkeys(['name','age'],'(unknown)') {'age': '(unknown)', 'name': '(unknown)'}
get は辞書項目
>>> d={} >>> print d['name'] Traceback (most recent call last): File "<pyshell#60>", line 1, in <module> print d['name'] KeyError: 'name' >>> print d.get('name') None >>> d.get('name','N/A') 'N/A' >>> d['name']='Eric' >>> d.get('name') 'Eric'
has_key にアクセスして、辞書に指定されたキーがあるかどうかを確認します (python3.0 にはこの機能がありません)
>>> d={} >>> d.has_key('name') False >>> d['name']='Eric' >>> d.has_key('name') True
items と iteritems
items はすべての辞書項目をリストとして返します。これらのリスト項目の各項目は (キー、値) から来ます
iteritems は反復子オブジェクトを返します
>>> d={'title':'My Time!','url':'http://www,python.org','spam':0} >>> d.items() [('url', 'http://www,python.org'), ('spam', 0), ('title', 'My Time!')] >>> s=d.iteritems() >>> s <dictionary-itemiterator object at 0x0000000003068728> >>> list(s) [('url', 'http://www,python.org'), ('spam', 0), ('title', 'My Time!')]
keys と iterkeys キーは辞書内のキーを返しますリストとして返す iterkeys はキーの反復子を返す
Pop は削除する
>>> d={'x':1,'y':2} >>> d.pop('x') >>> d {'y': 2}
Popitem はランダムな項目を削除する
>>> d={'x':1,'y':2} >>> d.popitem() ('y', 2) >>> d {'x': 1}
setdefault キーが存在しない場合はデフォルト値を返し、対応する辞書を更新する
>>> d={} >>> d.setdefault('name','N/A') 'N/A' >>> d {'name': 'N/A'} >>> d['name']='Gumby' >>> d.setdefault('name','N/A') 'Gumby' >>> d {'name': 'Gumby'}
update は辞書を利用するitem 別の辞書を更新します
>>> d={'x':1,'y':2,'z':3} >>> f={'y':5} >>> d.update(f) >>> d {'y': 5, 'x': 1, 'z': 3}
values と itervalues alues は辞書内の値を返します (itervalues は値のイテレータを返します)
>>> d={} >>> d[1]=1 >>> d[2]=2 >>> d[3]=3 >>> d.values() [1, 2, 3]
以上がPythonでの辞書のいくつかのメソッドの詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。