Python-Dictionary-辞書の作成方法
8683 ワード
辞書
私たちが辞書を作成する方法はたくさんあります.必要に応じて、適切な方法を採用すれば、半分の仕事をすることができます.私が使っているPython 3.0バージョンなので、2.Xのバージョンでは、解析的作成法が追加されました.
1.{}
私はこの方法をカッコで解決する方法と呼んでいます.この方法は辞書の内容が何なのかを知っていて、一度に辞書を作成するのに適しています.後期辞書が頻繁に変化しない場合.
出力:
2.D={}
後期に再び辞書のフィールドを追加する場合、私たちはまず空の辞書の方法で、Dに辞書の穴を占めて、それから後のプログラムの中で、一つ一つその内容を補充します.これは、フィールドを動的に確立する必要がある場合に適しています.
出力:
3.dict(key1=value1,key1=value2,…)
この方法は使いやすく、しかも簡単で、コード量が小さい~
出力:
4.dict([(key1,value1),(key2,value2),…])
(key,value)pairの形式を使用して、リレーショナルオブジェクトをマッピングします.再プログラムが必要な場合は、キーと値を徐々にシーケンスにします.
この方法はzip関数と組み合わせてよく使用され、プログラムの実行時に動的に取得されたキーと値の異なるリストを統合します.
出力:{‘name’:‘Bob’,‘age’:14,‘sex’:‘male’}
zip関数を組み合わせた使用方法
しゅつりょく
5.dict.fromkeys(key[,default])
seqが提供するkey値とvalue値に基づいて新しい辞書を作成します.value値が指定されていない場合、デフォルトはnoneです.
作成した辞書のキーのvalue値が同じであれば、キーリストとすべてのキーペアの初期値を簡単に入力できます.
出力:
6.dict(iterator)辞書解析式
Python 3.0では、過去の2.Xバージョンは大きく異なります.辞書を作成し、解析式をサポートする方法です.
この方法でdict()コンストラクション関数を呼び出し、反復オブジェクトを入力します.
入力:
この方式はzip()関数を直接使用するような目的を達成できるが,zip関数よりも煩雑に見える.解析式ではzip関数よりもシーンが多く、柔軟で便利です.
多くの例が襲来する
1.
しゅつりょく
2.
しゅつりょく
3.
しゅつりょく
4.valueを初期化する目的を達成できる
しゅつりょく
辞書の解析:
辞書解析には、ネストされたループやif文などの形式も含まれます.
私たちが辞書を作成する方法はたくさんあります.必要に応じて、適切な方法を採用すれば、半分の仕事をすることができます.私が使っているPython 3.0バージョンなので、2.Xのバージョンでは、解析的作成法が追加されました.
1.{}
私はこの方法をカッコで解決する方法と呼んでいます.この方法は辞書の内容が何なのかを知っていて、一度に辞書を作成するのに適しています.後期辞書が頻繁に変化しない場合.
"""
1.
"""
D={'name':'Bob','age':14,'sex':'male'}
print(D)
出力:
{'name': 'Bob', 'age': 14, 'sex': 'male'}
2.D={}
後期に再び辞書のフィールドを追加する場合、私たちはまず空の辞書の方法で、Dに辞書の穴を占めて、それから後のプログラムの中で、一つ一つその内容を補充します.これは、フィールドを動的に確立する必要がある場合に適しています.
"""
2.
"""
D={}
D['name']='Bob'
D['age']=14
D['sex']='male'
print(D)
出力:
{'name': 'Bob', 'age': 14, 'sex': 'male'}
3.dict(key1=value1,key1=value2,…)
この方法は使いやすく、しかも簡単で、コード量が小さい~
"""
3. dict(key1=value1,...)
"""
D=dict(name='Bob',age=14,sex='male')
print(D)
出力:
{'name': 'Bob', 'age': 14, 'sex': 'male'}
4.dict([(key1,value1),(key2,value2),…])
(key,value)pairの形式を使用して、リレーショナルオブジェクトをマッピングします.再プログラムが必要な場合は、キーと値を徐々にシーケンスにします.
この方法はzip関数と組み合わせてよく使用され、プログラムの実行時に動的に取得されたキーと値の異なるリストを統合します.
"""
4.dict([(key1,value1),(key2,value2),...])
"""
D=dict([("name","Bob"),("age",14),("sex",'male')])
print(D)
出力:{‘name’:‘Bob’,‘age’:14,‘sex’:‘male’}
zip関数を組み合わせた使用方法
D=dict(zip(['name','age','sex'],['Bob',14,'male']))
print("zip way:",D)
しゅつりょく
zip way: {'name': 'Bob', 'age': 14, 'sex': 'male'}
5.dict.fromkeys(key[,default])
seqが提供するkey値とvalue値に基づいて新しい辞書を作成します.value値が指定されていない場合、デフォルトはnoneです.
作成した辞書のキーのvalue値が同じであれば、キーリストとすべてのキーペアの初期値を簡単に入力できます.
"""
5.dict.fromkeys(key[,default])
value , , 。
"""
key_list=['name','age','sex']
D=dict.fromkeys(key_list,0)
print("keylist:",key_list)
print("Dictionary:",D)
出力:
keylist: ['name', 'age', 'sex']
Dictionary: {'name': 0, 'age': 0, 'sex': 0}
6.dict(iterator)辞書解析式
Python 3.0では、過去の2.Xバージョンは大きく異なります.辞書を作成し、解析式をサポートする方法です.
この方法でdict()コンストラクション関数を呼び出し、反復オブジェクトを入力します.
D={k:v for (k,v) in zip(['name','age','sex'],['Bob',14,'male'])}
print(D)
入力:
{'name': 'Bob', 'age': 14, 'sex': 'male'}
この方式はzip()関数を直接使用するような目的を達成できるが,zip関数よりも煩雑に見える.解析式ではzip関数よりもシーンが多く、柔軟で便利です.
多くの例が襲来する
1.
D={k:k **2 for k in [1,2,3,4]}
print(D)
しゅつりょく
D={k:k **2 for k in [1,2,3,4]}
print(D)
2.
D={c:c * 4 for c in 'SPAM'}
print(D)
しゅつりょく
{'S': 'SSSS', 'P': 'PPPP', 'A': 'AAAA', 'M': 'MMMM'}
3.
'''
'''
D={k.lower():k+'!' for k in'HAPPY' }
print(D)
しゅつりょく
{'h': 'H!', 'a': 'A!', 'p': 'P!', 'y': 'Y!'}
4.valueを初期化する目的を達成できる
'''
fromkeys
'''
D={k:" " for k in ['sex','name','age']}
print(D)
しゅつりょく
{'sex': ' ', 'name': ' ', 'age': ' '}
辞書の解析:
辞書解析には、ネストされたループやif文などの形式も含まれます.