ホームページ  >  記事  >  バックエンド開発  >  Python での辞書インスタンスの作成と使用の詳細な説明

Python での辞書インスタンスの作成と使用の詳細な説明

WBOY
WBOYオリジナル
2016-06-16 08:46:221539ブラウズ

辞書は、Python に組み込まれている唯一のマッピング タイプです。ディクショナリ内の値は特別な順序ではありませんが、特定のキーの下に保存されます。
キーには、数値、文字列、さらにはタプルを使用できます。
1. 辞書の作成と使用
辞書は次の方法で作成できます:

コードをコピー コードは次のとおりです:

phonebook = {'Alice':'2341','Beth':'9102','Ceil':'3258'}

辞書は複数のキーで構成されており、それらの対応する値のペアの構成。各キーとその値はコロン (:) で区切られ、項目はカンマ (,) で区切られ、辞書全体は 1 対の中括弧で囲まれます。空の辞書: {}

1.1 dict 関数
dict 関数を使用すると、マッピング (他の辞書など) または (キー、値) などのシーケンスを通じて辞書を作成できます。
コードをコピー コードは次のとおりです:

>>> items = [('name','ガンビー') ,('年齢'.42)]
>>> d = dict(items)
>>> d
{'年齢':42,'名前' :'ガンビー '}
>>> d = dict(name='ガンビー','年齢'=42)
>>> d
{'年齢':42, 'name' :'Gumby'}

1.2 基本的な辞書操作
(1)len(d) は d 内の項目 (キーと値のペア) の数を返します;
(2 )d[k] k に関連付けられた値を返します。
(3) d[k]=v は値 v をキー k に関連付けます。(4) del d[k] はキー k を持つ項目を削除します。 ;
(5) k in d は、d にキー k を持つ項目があるかどうかを確認します

1.3 辞書形式文字列
各変換指定子の後には、次のことができます。キー (括弧内) を追加し、その後に他の説明要素を追加します。
指定されたすべてのキーが辞書内で見つかる限り、変換指定子はいくつでも取得できます。

コードをコピーします コードは次のとおりです:
>>> ケーキの値段は $ です。 %(cake )s、ケーキのミルクの価格は $%(milk)s です。$%(cake)s はOKです'
>>> 価格 = {'cake':4,'milk' :5}
>>>print Temple % 価格
「ケーキの値段は 4 ドル、ケーキのミルクの値段は 5 ドルで大丈夫です」

1.4 Dictionary メソッド
1.4.1 clear
clear メソッドは、ディクショナリ内のすべての項目をクリアします。これはインプレース操作であり、戻り値はありません (または何も返しません)。
次の 2 つの状況を考えてみましょう:
a. 新しい空の辞書に関連付けて x をクリアします。これは、y にはまだ元の辞書に関連付けられています。

コードをコピー コードは次のとおりです:>>> x = {}
>>> 🎜>>>> x['key'] = 'value'
>>> y
{'key':'value'}
>>> 🎜>>>> y
{'key':'value'}


b. 元の辞書内のすべての要素をクリアする場合は、clear メソッドを使用する必要があります。 。


コードをコピー
コードは次のとおりです。>>> x = {}> >> ; y = x>>> x['キー'] = '値'
>>> y
{'キー':'値'}
> >> 新しい辞書 (値自体はコピーではなく同じであるため、このメソッドは浅いコピーを実装します)
コピー内の値を置き換える場合、元の辞書は影響を受けません。値が変更されると、元の辞書が変更されます。 ]



コードをコピー

コードは次のとおりです:

>>> x = {'a':1 ,'b ':[2,3,4]}
>>> y = x.copy()
>>> y['a'] = 5
> ;> y['b'].remove(3)>>> {'a':5,'b':[2,4]} ;> > 値。
コードをコピー

コードは次のとおりです。


>>> x = {'a':1, 'b' :[2,3,4]}
>>> y = x.copy()
>>> z = x.deepcopy()
>> ;> x['a'].append(5)
>>> {'a':1,5,'b':[2,3.4]}> ;> > z
{'a':1,'b':[2,3,4]}
1.4.3 fromkeysfromkeys メソッドは指定されたキーを使用します新しい辞書を作成するには、各キーに対応するデフォルト値は None です。このメソッドは、すべての辞書の型 dict に対して直接呼び出すことができます。デフォルト値を使用したくない場合は、独自の値を指定することもできます。
コードをコピー

コードは次のとおりです:

>>> {}.fromkeys(['名前','年齢'])
{'年齢':なし,'名前':なし}
>> >
>>> dict.fromkeys(['名前','年齢'],'不明')
{'年齢':'不明','名前':'不明'}

1.4.4 get
get メソッドは、辞書項目にアクセスするためのよりリラックスした方法です。 get を使用して存在しないキーにアクセスすると、None 値が返されます。 「デフォルト」値をカスタマイズして、None を置き換えることもできます。
コードをコピー コードは次のとおりです。

>>> d = {}
> >> ; print d.get('name')
なし
>>> d.get("name",'N/A')
'N/A'
> >> d[''名前] = 'エリック'
>>>d.get('名前')

1.4 .5 has_key
has_key メソッドは、辞書に指定されたキーが含まれているかどうかを確認できます。 d.has_key(k)

コードをコピー コードは次のとおりです。
>>> }
>>> d.has_key('name')
False

1.4.6 items および iteritems
items メソッドは、すべての辞書項目をリストとして返します。ただし、リスト内の各項目 (キー、値) は、特定の順序で返されません。 iteritems メソッドはほぼ同じことを行いますが、リストの代わりに反復子オブジェクトを返します:

コードをコピー コードは次のとおりです:
>>> d = {'a':1,'b':2,'c':3}
>>>d.items
[('a ',1) ,('b',2),('c',3)]
>>> it = d.iteritems()
>>>
>>> list(it)
[('a',1),('b',2),('c',3)]


1.4.7 key と iterkeys Keys メソッドは辞書内のキーをリストとして返しますが、iterkeys はキーの反復子を返します。
1.4.8 Pop メソッド
pop メソッドは、指定されたキーに対応する値を取得し、辞書からキーと値のペアを削除するために使用されます。



コードをコピー
コードは次のとおりです。>>> d = {'a':1, 'b' :2,'c':3}>>> d.pop('a')
>>>d
{'b':2,' c': 3}


1.4.10 setdefault
setdefault メソッドは、get メソッドとある程度似ています。つまり、指定されたキーに関連付けられた値を取得でき、次のことができます。辞書内の指定されたキーに関連付けられた値も取得します。固定キーの場合は、対応するキーの値を設定します。


コードをコピー
コードは次のとおりです。>>> d = {}> >> ; d.setdefault('name','N/A')
'N/A'
>>> d
{'name': 'N/A'}
>>> d.setdefault('name',A)
'N/A'


上記の例のように、キーが存在する場合、デフォルト値(オプション) が返され、対応するディクショナリが更新され、キーが存在する場合は対応する値が返されますが、ディクショナリは変更されません。
1.4.11 update
update メソッドは、1 つの辞書項目を使用して別の辞書を更新できます。提供された辞書エントリは古い辞書に追加されるか、同じキーを持つ場合は上書きされます。



コードをコピー
コードは次のとおりです。>>> d = {'a':1, 'b' :2,'c':3}>>> x = {'a':5,'d':6}
>>> )
>>> d
{'a': 5, 'c': 3, 'b': 2, 'd': 6}


1.4。 12 個の値と itervalues
values メソッドは、ディクショナリ内の値をリストの形式で返します (itervalues は、キーのリストを返すのとは異なり、値のリストを返します)。繰り返しの要素を含めることができます。


コードをコピー
コードは次のとおりです。>>> d = {}> >> d[1]=1
>d[2]=2
>>d[3]=3
>>d [4] =1
>>d
{1: 1, 2: 2, 3: 3, 4: 1}
>>>d.values()
[1、2、3、1]


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