ホームページ  >  記事  >  バックエンド開発  >  Python辞書の使い方を詳しく解説

Python辞書の使い方を詳しく解説

巴扎黑
巴扎黑オリジナル
2016-12-08 11:14:571620ブラウズ

1. 辞書の作成

方法①:
>>> dict2 = {'name': 'earth', 'port': 80}
>> ; dict1, dict2
({}, {'port': 80, 'name': 'earth'})

方法②: Python 2.2 バージョン以降
>>> fdict = dict((' x' , 1], ['y', 2]))
>>> fdict
{'y': 2, 'x': 1}

方法③:

Python 2.3 バージョン以降では、要素が同じ値を持つ「デフォルト」辞書を作成するための便利な組み込みメソッド fromkeys() (指定しない場合、デフォルトは None): ddict = { }.fromkeys(('x', 'y'), -1 )
>>> ddict
{'y': -1, 'x': -1}
>>>
> ;>> 布告 = {}.fromkeys(('foo' , 'bar'))
>>> 勅令
{'foo': None, 'bar': None}

2. 辞書内の値にアクセスする方法

① 辞書を走査する(通常はキーを使用する場合)、次のようにキーをループするだけです:
>>> dict2 = {'name': 'earth', 'port ': 80}
>>>
> >>> dict2.keys() のキー:
... print 'key=%s, value=%s' % (key, dict2 [key])
...
key=name, value =earth
key=port, value=80

②Python 2.2から始める
forループで辞書を走査します。
>>> dict2 = {'name': 'earth', 'port': 80}
>>>
>>>> dict2 のキー:
... 'key=%s, value=%s' % (key, dict2[key])
...
key=name, value=earth
key=port, value=80


辞書内の要素を取得するにはの値は、使い慣れた辞書キーと角かっこを使用して取得できます。
>>> dict2['name']
'earth'
>>>
>>> print 'host %s is running on port %d' %
... (dict2['name'], dict2['port'])
host Earth is running on port 80


③辞書のすべてのメソッド。 has_key() および in 演算子と not in 演算子はすべてブール型です
>>> dict2 # または dict2.has_key('server')
False
>>> in dict # or dict2.has_key('name')
True
>>> dict2['name']
'earth'
辞書内で数値と文字列を混合する例:
>>> dict3 = {}
>>> dict3[1] = 'abc'
>>> dict3['1'] = 3.14159
>>> dict3[3.2] = 'xyz'
>>> dict3
{3.2: 'xyz', 1: 'abc', '1': 3.14159}


3. 辞書を更新します

上記の例では、dict2['name ']= 'earth';
Update dict2['name']='abc';

4. 辞書要素と辞書を削除
del dict2['name'] # キー「name」を持つエントリを削除します
dict2。 clear() # dict2 のすべてのエントリを削除します
del dict2 # dict2 辞書全体を削除します
dict2.pop('name') # キー「name」を持つエントリを削除して返します

dict2 = {'name': 'earth' , 'ポート' dict2.values()
[80, '地球']
>>>
>>> dict2.items()
[('ポート', 80), ('名前' , 'earth')]
>>>
> ;>> for eachKey in dict2.keys():
... print 'dict2 key', eachKey, 'has value', dict2[eachKey]
...
dict2 キーポートの値は 80
dict2 キー名の値は Earth


update() メソッドを使用して、ある辞書の内容を別の辞書に追加できます

{'server': 'http', 'ポート': 80, 'ホスト': 'venus'}
dict3.clear()
>>> dict3
>>> , y=2)
{'y': 2, 'x' : 1}
>>> dict8 = dict(x=1, y=2)
>>> dict8
{'y ': 2, 'x': 1}
>>> ; dict9 = dict(**dict8)
>>> dict9
{'y': 2, 'x': 1}

dict9 = dict8.copy()

辞書組み込みメソッド:

辞書キー値: dict9.keys()

辞書値: dict9.values()

すべての辞書項目: dict9.items()

戻り辞書値:dict9.get('y')

表 7.2 辞書の種類メソッド

メソッド名 操作

dict.cleara() 辞書内のすべての要素を削除します

dict.copya() 辞書のコピー (浅いコピー) を返します

dict.fromkeysc(seq,val=None) c は、新しい辞書を作成するには、 seq の要素を辞書のキーとして使用し、 val を辞書内のすべてのキーに対応する初期値として使用します (この値が指定されていない場合、デフォルトは None になります)

dict.get(key ,default=None)a 辞書の場合 dict のキー key は、対応する値 value を返します。キーが辞書に存在しない場合は、default の値が返されます (パラメータdefault のデフォルト値は None であることに注意してください)。 dict.has_key(key) key(key) が辞書に存在する場合は True を返し、それ以外の場合は False を返します。Python 2.2 で in と not in が導入された後、このメソッドはほぼ廃止されましたが、それでも機能するインターフェイスを提供します。

dict.items() 辞書内の (キー、値) ペアのタプルを含むリストを返します

dict.keys() 辞書内のキーを含むリストを返します

dict.iter()d メソッド iteritems() 、 iterkeys()、 itervalues() は、リストの代わりに反復子を返すことを除いて、非反復型のものと同じです。

dict.popc(key[,default]) c はメソッド get() と似ています。キー key が辞書に存在する場合は削除し、キー key が存在せずデフォルト値がない場合は dict[key] を返します。が与えられた場合、KeyError 例外が発生します。

dict.setdefault(key,default=None)e はメソッド set() と似ています。キー key が辞書に存在しない場合は、dict[key]=default によって値が割り当てられます。

dict.update(dict2)a 辞書dict2のキーと値のペアを辞書dictに追加します

dict.values()は辞書内のすべての値を含むリストを返します

①②③④⑤⑥⑦⑧⑨⑩
6.型を設定します
①使用set ファクトリ メソッド set() および frozenset():
>>> s = set('cheeseshop')
>>> s
set(['c', 'e', 'h ', ' o', 'p', 's'])
>>> t = frozenset('bookshop')
>>> t
frozenset(['b', 'h', 'k' 、 'o'、 'p'、 's'])
>>> タイプ 'set'>
>>> タイプ(t)
;type 'frozenset'>

②コレクションの更新方法
さまざまなコレクションの組み込みメソッドと演算子を使用して、セットのメンバーを追加および削除します:
>>> s.add('z')
> ;>> s
set(['c', 'e', 'h', 'o', 'p', 's', 'z'])
>>> update('pypi')
>>> s
set(['c', 'e', 'i', 'h', 'o', 'p', 's', 'y ', 'z'])
>>> s.remove('z')
>>> s
set(['c', 'e', 'i', 'h ', 'o', 'p', 's', 'y'])
>>> s -= set('pypi')
>>> s
; , 'e', 'h', ' o', 's'])

③set
del sを削除

④メンバーシップ(in, not in)
>>> s = set('cheeseshop' )
>>> t = frozenset('bookshop')
>>> 'k' in s
False>>> 'k' in t
>>> ; 'c' は t
True にありません

⑤セットは同等です/等価ではありません
>>> s == t
False
>>> s != t
True
>>> u = frozenset(s)
>>> s == u
True
>>> set('posh') == set('shop')
True

⑥差分補数/相対補数( -)
two 集合 (s と t) の差の補数または相対補数は、集合 C を参照します。この集合の要素は集合 s にのみ属し、集合 t には属しません。差分符号には同等のメソッド、Difference() があります。
>>> s - t
set(['c', 'e'])

対称差分 (^): 対称差分はセットの XOR

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:Python デコレータ次の記事:Python デコレータ