023 Python初心者ノート-辞書:辞書の内蔵関数と内蔵方法の使用と例

8560 ワード

一、辞書:辞書はpythonで唯一のマッピングタイプです.
  • 簡単な辞書の作成:変数名={key 1:value 1,key 2=values,...}
  • 辞書対応のキーにアクセスする値:辞書変数名[key]
  • 辞書の対応するキーの対応する値を修正する:辞書変数名[key]=value、修正したキーが存在しない場合、そのキー値を辞書の
  • に加える.
    >>> #     
    >>> dict1={}
    
    >>> #    :     ={key1:value1,key2:value2,...}
    >>> dict2={1:'one','  ':'      '}
    
    >>> #            
    >>> dict2['  ']
    '      '
    
    >>> #        
    >>> dict2[1]='hello'
    >>> #             
    >>> dict2['  ']='    '
    >>> dict2
    {1: 'hello', '  ': '      ', '  ': '    '}
    

    二、pythonの工場関数(dict関数)で辞書を作成する
    関数#カンスウ#
    機能
    使用法
    英語の解釈
    dict()
    空の辞書を作成
    dict()
    new empty dictionary
    dict(mapping)
    マッピングによる辞書の作成
    dict(((key1,value),(key2,value)...))またはdict(zip([key 1,key 2...],[value1,value2...]))
    new dictionary initialized from a mapping object's (key, value) pairs
    dict(iterable)
    反復可能なオブジェクトによる辞書の作成
    dict([(key1,value1),(key2,value2)...])
    new dictionary initialized as if via:       d = {}       for k, v in iterable:           d[k] = v
    dict(**kwargs)
    キーワードを入力して辞書を作成
    dict(key1=value1,key2=value2...)
    new dictionary initialized with the name=value pairs in the keyword argument list.  For example:  dict(one=1, two=2)
    >>> #     :dict()
    >>> dict()
    {}
    
    >>> #          1:dict(((key1,value),(key2,value)...))
    >>> dict(((1,'one'),(2,'two'),(3,'three')))
    {1: 'one', 2: 'two', 3: 'three'}
    >>> #          2:dict(zip([key1,key2...],[value1,value2...]))
    >>> dict(zip(['a','b','c'],['A','B','C']))
    {'a': 'A', 'c': 'C', 'b': 'B'}
    
    >>> #              :dict([(key1,value1),(key2,value2)...])
    >>> dict([('I','love you'),('you','handsom'),('he','haha')])
    {'I': 'love you', 'you': 'handsom', 'he': 'haha'}
    
    >>> #              :dict(key1=value1,key2=value2...)
    >>> dict(a='AA',b='BB',c='CC')
    {'a': 'AA', 'c': 'CC', 'b': 'BB'}

    三、辞書に組み込まれた関数と方法:
    1.辞書の組み込み関数と使用例:
    組み込み関数
    関数の機能
    len(dict)
    辞書内の要素の数、すなわちキーの合計数を計算します.
    str(dict)
    辞書を印刷可能文字列で出力
    type(variable)
    変数のタイプを返します
    >>> dict1={1:'one',2:'two',3:'three'}
    >>> #len(dict):          ,     
    >>> len(dict1) 
    3
    
    >>> #str(dict):    ,          
    >>> str(dict1)
    "{1: 'one', 2: 'two', 3: 'three'}"
    
    >>> #type(variable)       
    >>> type(dict1)
    

    2.辞書の組み込み方法と使用例:
    組み込みメソッド
    使用
    機能
    clear()
    dict1.clear()
    辞書を空にする
    copy()
    dict1.copy()
    辞書の浅いコピーを返します
    fromkeys() 
    dict.fromkeys(seq[,value]) 
    新しい辞書を作成します.シーケンスseqの要素を辞書のキーとして使用します.valueは辞書のすべてのキーに対応する初期値です.valueを設定しないと、デフォルトのすべてのキーに対応する値はNoneです.
    keys()
    dict1.keys()
    辞書内のすべてのキーにアクセスし、値をリストに戻します.
    values()
    dict1.values()
    ディクショナリ内のすべての値にアクセスし、値をリストに戻します.
    items()
    dict1.items()
    辞書のキーと値にアクセスし、リストを返します.
    get()
    get(key[,formation])
    辞書で指定したキーキーに対応する値を返し、アクセスしたキーが存在しない場合に返される情報formationです.戻り情報を設定しないと、デフォルトはNoneを返します.アクセスしたキーが存在する場合は、対応する値が返されます.
    setdefault()
    setdefault(key[,value])
    辞書にキーと値valueのペアを追加し、valueを返します.valueが指定されていない場合、デフォルト設定はデフォルト値Noneに戻ります.追加するキーが既に存在する場合は、その建物に対応する値を返します.
    in,not in
    key1 in dict1
    キーが辞書にあるかどうかを判断する
    update()
    dict1.update(dict2)
    辞書dict 2による辞書dict 1の拡張
    pop()
    pop(key)
    辞書で指定したキー値のペアを削除し、削除された値を返します.
    popitem()
    popitem()
    辞書のキーと値のペアをランダムに削除して返します.
     
     
     
    >>> dict1={1:'one',2:'two',3:'three'}
    >>> #clear()    
    >>> dict1.clear()
    >>> dict1
    {}
    
    >>> #copy():          
    >>> dict2={1:'one',2:'two',3:'three'}
    >>> dict3=dict2.copy()
    >>> dict3
    {1: 'one', 2: 'two', 3: 'three'}
    
    >>> #fromkeys(seq[,value])        ,  seq         ,value              
    >>> dict4=dict.fromkeys((1,2,3))
    >>> dict4
    {1: None, 2: None, 3: None}
    >>> dict5=dict.fromkeys((1,2,3),'number')
    >>> dict5
    {1: 'number', 2: 'number', 3: 'number'}
     
    >>> #       :keys(),values(),items()
    >>> dict1={1:'one',2:'two',3:'three'}
    >>> keys()
    >>> for i in dict1.keys():
    	print(i)
    
    	
    1
    2
    3
    >>> dict1.keys()
    [1, 2, 3]
    >>> #values()
    >>> dict1.values()
    ['one', 'two', 'three']
    >>> #items()
    >>> dict1.items()
    [(1, 'one'), (2, 'two'), (3, 'three')]
    >>> for each in dict1.items():
    	print(each)
    
    	
    (1, 'one')
    (2, 'two')
    (3, 'three')
    
    >>> #get(key[,value]):         key     ,value           ,     。    None;         ,       。
    >>> dict1={1:'one',2:'two',3:'three'}
    >>> print(dict1.get(4,'   '))
       
    >>> print(dict1.get(2,'   '))
    two
    >>> print(dict1.get(5))   #    None
    None
    
    >>> #setdefault(key[,value]):         key  value,   value。    value,          None。         ,          
    >>> dict1={'name':'Rubby','university':'Shandong'}
    >>> dict1.setdefault('sex')
    >>> dict1.setdefault('baby','Swan')
    'Swan'
    >>> dict1
    {'name': 'Rubby', 'university': 'Shandong', 'sex': None, 'baby': 'Swan'}
    >>> print(dict1.setdefault('sex','male'))
    None
    
    >>> #in,not in         
    >>> dict1={1:'one',2:'two',3:'three'}
    >>> 1 in dict1
    True
    >>> 5 not in dict1
    True
    
    >>> #dict1.update(dict2):    dict2    dict1
    >>> a={1: 'one', 'name': 'Sam'}
    >>> c={'adress':'China'}
    >>> a.update(c)
    >>> a
    {1: 'one', 'name': 'Sam', 'adress': 'China'}
    
    >>> #pop(key)           ,        。
    >>> a={'name':'Ursula','sex':'female'}
    >>> a.pop('sex')
    'female'
    >>> a
    {'name': 'Ursula'}
    
    >>> #popitem():               
    >>> a={1:'one','a':'AA','name':'cat'}
    >>> a.popitem()
    ('name', 'cat')
    >>> a
    {1: 'one', 'a': 'AA'}

    注意:
    1.fromkeys()を使用して辞書のキーバッチに値を割り当てないでください.
    dict1=dict.fromkeys((1,2,3),('one','two','three'))
    >>> dict1
    {1: ('one', 'two', 'three'), 2: ('one', 'two', 'three'), 3: ('one', 'two', 'three')}

    2.fromkeys()キーワードを使用して辞書の値を変更しようとしても実現できません.辞書が再作成されます.
    >>> dict1.fromkeys((1,2),'num')
    {1: 'num', 2: 'num'}

     3.辞書のキー値に直接アクセスせずにgetを使用するのはなぜですか?
    辞書に存在しないキーに直接アクセスすると、システムがエラーを報告するため、getメソッドを使用するとこのようなエラーを回避できます.
    4.辞書を空にする方法はclearで、dict 1={}とdict 1.clear()メソッドの違いは何ですか?
    clear()メソッドは、辞書の内容を空にすることです.dict 1={}は空の辞書を再作成し、元の辞書の内容は依然として存在し、このような操作はデータの安全に不利であり、ユーザーは他の方法で辞書のデータにアクセスすることができる.
    >>> dict2=dict1;dict3=dict1
    >>> dict1={}
    >>> dict2
    {'a': 'A', 'b': 'B'}
    >>> dict1.clear()
    >>> dict2
    {'a': 'A', 'b': 'B'}
    >>> dict2.clear()
    >>> dict3
    {}

    5.copyメソッドと直接付与の違いは何ですか?
    copyメソッドは、辞書を再作成し、元の辞書の内容をコピーすることです.dict 2=dict 1の付与方法は、元の辞書に名前を付け直しただけです.
    >>> dict1={'a':'A','b':'B'}
    >>> dict2=dict1;dict3=dict1.copy()
    >>> id(dict1);id(dict2);id(dict3)
    2387017617912
    2387017617912
    2387017618200