ホームページ > バックエンド開発 > Python チュートリアル > Pythonでの辞書のいくつかのメソッドの詳細な説明

Pythonでの辞書のいくつかのメソッドの詳細な説明

高洛峰
リリース: 2017-03-08 11:14:14
オリジナル
2174 人が閲覧しました

辞書を作成する

>>> 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[&#39;name&#39;]
KeyError: &#39;name&#39;
>>> print d.get(&#39;name&#39;)
None
>>> d.get(&#39;name&#39;,&#39;N/A&#39;)
&#39;N/A&#39;
>>> d[&#39;name&#39;]=&#39;Eric&#39;
>>> d.get(&#39;name&#39;)
&#39;Eric&#39;
ログイン後にコピー

has_key にアクセスして、辞書に指定されたキーがあるかどうかを確認します (python3.0 にはこの機能がありません)

>>> d={}
>>> d.has_key(&#39;name&#39;)
False
>>> d[&#39;name&#39;]=&#39;Eric&#39;
>>> d.has_key(&#39;name&#39;)
True
ログイン後にコピー

items と iteritems

items はすべての辞書項目をリストとして返します。これらのリスト項目の各項目は (キー、値) から来ます

iteritems は反復子オブジェクトを返します

>>> d={&#39;title&#39;:&#39;My Time!&#39;,&#39;url&#39;:&#39;http://www,python.org&#39;,&#39;spam&#39;:0}
>>> d.items()
[(&#39;url&#39;, &#39;http://www,python.org&#39;), (&#39;spam&#39;, 0), (&#39;title&#39;, &#39;My Time!&#39;)]
>>> s=d.iteritems()
>>> s
<dictionary-itemiterator object at 0x0000000003068728>
>>> list(s)
[(&#39;url&#39;, &#39;http://www,python.org&#39;), (&#39;spam&#39;, 0), (&#39;title&#39;, &#39;My Time!&#39;)]
ログイン後にコピー

keys と iterkeys キーは辞書内のキーを返しますリストとして返す iterkeys はキーの反復子を返す

Pop は削除する

>>> d={&#39;x&#39;:1,&#39;y&#39;:2}
>>> d.pop(&#39;x&#39;)
>>> d
{&#39;y&#39;: 2}
ログイン後にコピー

Popitem はランダムな項目を削除する

>>> d={&#39;x&#39;:1,&#39;y&#39;:2}
>>> d.popitem()
(&#39;y&#39;, 2)
>>> d
{&#39;x&#39;: 1}
ログイン後にコピー

setdefault キーが存在しない場合はデフォルト値を返し、対応する辞書を更新する

>>> d={}
>>> d.setdefault(&#39;name&#39;,&#39;N/A&#39;)
&#39;N/A&#39;
>>> d
{&#39;name&#39;: &#39;N/A&#39;}
>>> d[&#39;name&#39;]=&#39;Gumby&#39;
>>> d.setdefault(&#39;name&#39;,&#39;N/A&#39;)
&#39;Gumby&#39;
>>> d
{&#39;name&#39;: &#39;Gumby&#39;}
ログイン後にコピー

update は辞書を利用するitem 別の辞書を更新します

>>> d={&#39;x&#39;:1,&#39;y&#39;:2,&#39;z&#39;:3}
>>> f={&#39;y&#39;:5}
>>> d.update(f)
>>> d
{&#39;y&#39;: 5, &#39;x&#39;: 1, &#39;z&#39;: 3}
ログイン後にコピー

values と itervalues alues は辞書内の値を返します (itervalues は値のイテレータを返します)

>>> d={}
>>> d[1]=1
>>> d[2]=2
>>> d[3]=3
>>> d.values()
[1, 2, 3]
ログイン後にコピー


以上がPythonでの辞書のいくつかのメソッドの詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート