python 3:辞書(インデックスが使いにくい場合)

3880 ワード

一般的には、リストでデータを保存できます.ただし、リストよりも辞書の方が実用的な場合があります.
(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'

その他の基本的な辞書操作
  • d[k]は、キーkに関連付けられた値を返す.
  • d[k]=vであり、vをキーkに関連付ける.更新します.
  • len(d)は、dのキー値ペアの数を返します.
  • del d[k]削除キーがkのアイテム.
  • k in dは、dにキーがkである項目が含まれているかどうかを検査する.
  • clear辞書を空にします.
  • >>> 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()は、辞書のキーと値のペアをランダムに返して削除します(一般的には末尾のペアを削除します).