python 3:辞書(インデックスが使いにくい場合)
3880 ワード
一般的には、リストでデータを保存できます.ただし、リストよりも辞書の方が実用的な場合があります.
(1)1つのゲームボードの状態を表し,各キーは座標値からなるメタグループである.
(2)ファイル変更時間を格納し,ファイル名をキーとする.
(3)デジタル電話帳など.
マッピングでは、任意の可変オブジェクトを使用して要素を識別できます.最も一般的なタイプは文字列とメタグループです.辞書はpythonで唯一組み込まれているマッピング関数です.辞書の値には特定の順序はありませんが、特定のKeyの下に保存されます.各キー値は内部をコロンで分割し、間をカンマで区切る.辞書全体をかっこで囲む.
辞書の各キーは一意ですが、値は必要ありません.値は任意のデータ型ですが、キーは可変でなければなりません.
辞書の作成
辞書の値へのアクセス
その他の基本的な辞書操作 d[k]は、キーkに関連付けられた値を返す. d[k]=vであり、vをキーkに関連付ける.更新します. len(d)は、dのキー値ペアの数を返します. del d[k]削除キーがkのアイテム. k in dは、dにキーがkである項目が含まれているかどうかを検査する. clear辞書を空にします.
辞書キーのプロパティ
辞書値は任意のpythonオブジェクトであってもよいし、標準的なオブジェクトであってもよいし、ユーザー定義であってもよいが、キーはだめである.
2つの重要な点を覚えておく必要があります.
1)同じキーが2回出現することは許されない.作成時に同じキーが2回割り当てられた場合、次の例のように次の値が記憶されます.
2)キーは可変でなければならないので、数値、文字列、またはメタグループで使用できますが、リストでは使用できません.次の例です.
注意:文字列とメタグループは可変ではありませんが、リストは変更できます.
辞書による文字列のフォーマット
文字列を使用してメタグループ内のすべての値をフォーマットする方法について説明しました.メタグループではなく辞書(文字列のみをキーとする)を使用すると、文字列のフォーマットがよりクールになります.各変換説明子(conversion specifier)の%文字の後に、キー(カッコで囲まれた)を付けて、他の説明要素に続くことができます.次のようになります.
文字列キーを追加する以外は、変換説明子は以前のように動作します.このように辞書を使用する場合、与えられたキーが辞書に見つかる限り、任意の数の変換説明子を使用することができる.このような文字列フォーマットはテンプレートシステムで非常に役立ちます.
Python辞書には、次の方法が組み込まれています.
シーケンス番号
関数と説明
1
radiansdict.clear()辞書内のすべての要素を削除
2
radiansdict.copy()は、辞書の浅いコピーを返します.
3
radiansdict.fromkeys()は、シーケンスseqの要素を辞書のキーとし、valを辞書のすべてのキーに対応する初期値とする新しい辞書を作成します.
4
radiansdict.get(key,default=None)は、指定したキーの値を返します.値が辞書でdefault値を返さない場合は
5
key in dictキーが辞書dictでtrueを返す場合、falseを返します.
6
radiansdict.items()は、遍歴可能な(キー、値)メタグループ配列をリストで返します.
7
radiansdict.keys()は、辞書のすべてのキーをリストで返します.
8
radiansdict.setdefault(key,default=None)はget()と似ていますが、キーが辞書に存在しない場合はキーが追加され、値がdefaultに設定されます.
9
radiansdict.update(dict 2)辞書dict 2のキー/値ペアをdictに更新
10
radiansdict.values()は、辞書のすべての値をリストで返します.
11
pop(key[,default])辞書の所与のキーキーに対応する値を削除し、削除された値を返します.key値は指定する必要があります.そうでない場合はdefault値を返します.
12
popitem()は、辞書のキーと値のペアをランダムに返して削除します(一般的には末尾のペアを削除します).
(1)1つのゲームボードの状態を表し,各キーは座標値からなるメタグループである.
(2)ファイル変更時間を格納し,ファイル名をキーとする.
(3)デジタル電話帳など.
マッピングでは、任意の可変オブジェクトを使用して要素を識別できます.最も一般的なタイプは文字列とメタグループです.辞書はpythonで唯一組み込まれているマッピング関数です.辞書の値には特定の順序はありませんが、特定のKeyの下に保存されます.各キー値は内部をコロンで分割し、間をカンマで区切る.辞書全体をかっこで囲む.
辞書の各キーは一意ですが、値は必要ありません.値は任意のデータ型ですが、キーは可変でなければなりません.
辞書の作成
>>> dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
>>> dict
{'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
辞書の値へのアクセス
>>> dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
>>> dict['Alice']
'2341'
その他の基本的な辞書操作
>>> dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
>>> dict['Alice'] # Alice
'2341'
>>> dict['Alice']='1111'# Alice
>>> dict #
{'Alice': '1111', 'Beth': '9102', 'Cecil': '3258'}
>>> len(dict) # dict
3
>>> del dict['Beth'] # dict Beth
>>> dict
{'Alice': '1111', 'Cecil': '3258'}
>>> 'Cecil' in dict # dict Cecil
True
辞書キーのプロパティ
辞書値は任意のpythonオブジェクトであってもよいし、標準的なオブジェクトであってもよいし、ユーザー定義であってもよいが、キーはだめである.
2つの重要な点を覚えておく必要があります.
1)同じキーが2回出現することは許されない.作成時に同じキーが2回割り当てられた場合、次の例のように次の値が記憶されます.
>>> dict={'name':'Alice','name':'Bob'}
>>> dict['name']
'Bob'
2)キーは可変でなければならないので、数値、文字列、またはメタグループで使用できますが、リストでは使用できません.次の例です.
>>> dict = {['Name']: 'Runoob', 'Age': 7}
Traceback (most recent call last):
File "", line 1, in
TypeError: unhashable type: 'list'
注意:文字列とメタグループは可変ではありませんが、リストは変更できます.
辞書による文字列のフォーマット
文字列を使用してメタグループ内のすべての値をフォーマットする方法について説明しました.メタグループではなく辞書(文字列のみをキーとする)を使用すると、文字列のフォーマットがよりクールになります.各変換説明子(conversion specifier)の%文字の後に、キー(カッコで囲まれた)を付けて、他の説明要素に続くことができます.次のようになります.
>>> phonebook={'Beth':'9029','Alice':'2182','Bob':'1292'}
>>> "Bob's phone number is %(Bob)s."%phonebook
"Bob's phone number is 1292."
文字列キーを追加する以外は、変換説明子は以前のように動作します.このように辞書を使用する場合、与えられたキーが辞書に見つかる限り、任意の数の変換説明子を使用することができる.このような文字列フォーマットはテンプレートシステムで非常に役立ちます.
Python辞書には、次の方法が組み込まれています.
シーケンス番号
関数と説明
1
radiansdict.clear()辞書内のすべての要素を削除
2
radiansdict.copy()は、辞書の浅いコピーを返します.
3
radiansdict.fromkeys()は、シーケンスseqの要素を辞書のキーとし、valを辞書のすべてのキーに対応する初期値とする新しい辞書を作成します.
4
radiansdict.get(key,default=None)は、指定したキーの値を返します.値が辞書でdefault値を返さない場合は
5
key in dictキーが辞書dictでtrueを返す場合、falseを返します.
6
radiansdict.items()は、遍歴可能な(キー、値)メタグループ配列をリストで返します.
7
radiansdict.keys()は、辞書のすべてのキーをリストで返します.
8
radiansdict.setdefault(key,default=None)はget()と似ていますが、キーが辞書に存在しない場合はキーが追加され、値がdefaultに設定されます.
9
radiansdict.update(dict 2)辞書dict 2のキー/値ペアをdictに更新
10
radiansdict.values()は、辞書のすべての値をリストで返します.
11
pop(key[,default])辞書の所与のキーキーに対応する値を削除し、削除された値を返します.key値は指定する必要があります.そうでない場合はdefault値を返します.
12
popitem()は、辞書のキーと値のペアをランダムに返して削除します(一般的には末尾のペアを削除します).