Pythonマッピングタイプ辞書(dict)

1。概要

ディクショナリは、順序付けられていない、可変の、インデックス付きのコレクションです。
辞書は中括弧で書かれており、キーと値があります。
辞書のキーは、ほぼすべての値にすることができます(リスト、辞書、またはその他の可変タイプの値は含まません)。
数値タイプをキーとして使用する場合、数値比較の一般的なルールに従います。2つの値が等しい場合(たとえば、1と1.0)、両方同じ辞書エントリにインデックスを付けるために使用できます。(ただし、コンピューターは浮動小数点数の概算値のみを保存するため、それらを辞書キーとして使用することは賢明ではないことに注意してください)。
辞書はコンマで区切ることができます キー:値 中括弧で囲まれたリストを作成するには、

dictは、タイプが次のように定義されているクラスです。

class dict(**kwarg)				# kwarg: 键(key)参数
class dict(mapping, **kwarg)	# mapping: 位置参数映射值
class dict(iterable, **kwarg)	# iterable:位置参数列表

2.辞書の作成方法

2.1中括弧で区切って キー:値 作成する正しい方法

dsk = {
    
    1 : 'a', 2 : 'b', 3 : 'c'}
print(type(dsk), ' , ', dsk)
dsk2 = {
    
    'a':1, 'b':2, 'c':3}
print(type(dsk2), ' , ', dsk2)

出力:

<class 'dict'>  ,  {
    
    1: 'a', 2: 'b', 3: 'c'}
<class 'dict'>  ,  {
    
    'a': 1, 'b': 2, 'c': 3}
Process finished with exit code 0

2.2辞書の理解を使用して作成する

dsk = {
    
    x: x ** 2 for x in range(10)}
print(type(dsk), ' , ', dsk)

出力:

E:\Python3\Exercise\venv\Scripts\python.exe E:/Python3/Exercise/venv/06.py
<class 'dict'>  ,  {
    
    0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}

Process finished with exit code 0

2.3dictクラスのコンストラクターによって作成されます

2.3.1空の辞書を作成します。

コンストラクターを使用するクラスdict()

dsk = dict()
print(type(dsk), ' , ', dsk)

2.3.2キーワードキーパラメータを使用して辞書を作成する

コンストラクターを使用するクラスdict(** kwarg)

dsk = dict(one=1, two=2, three=3)
print(type(dsk), ' , ', dsk)

出力:

E:\Python3\Exercise\venv\Scripts\python.exe E:/Python3/Exercise/venv/06.py
<class 'dict'>  ,  {
    
    'one': 1, 'two': 2, 'three': 3}
Process finished with exit code 0

2.3.3反復可能なデータオブジェクトを使用して辞書を作成する

コンストラクターを使用するクラスdict(反復可能)

位置パラメーターは反復可能オブジェクトであり、反復可能オブジェクト自体の各項目は、正確に2つの要素を含む反復可能オブジェクトであり、各項目の最初のオブジェクトが新しい辞書のキーになり、2番目のオブジェクトが新しい辞書のキーになります。オブジェクトは対応する値になります。

キーが複数回表示される場合、キーの最後の値が新しい辞書の対応する値になります

lst = [('two', 2), ('one', 1), ('three', 3)]
dsk = dict(lst)
print(type(dsk), ' , ', dsk)

出力:

E:\Python3\Exercise\venv\Scripts\python.exe E:/Python3/Exercise/venv/06.py
<class 'dict'>  ,  {
    
    'two': 2, 'one': 1, 'three': 3}
Process finished with exit code 0

2.3.4マッピング可能なオブジェクトを使用して辞書を作成する

コンストラクターを使用するクラスdict(マッピング)

if __name__ == "__main__":
  d = {
    
    'aa': 1, 'bb': 2, 'cc': 3}
  dsk = dict(d)
  print(type(dsk), ':' , dsk)

出力:

E:\Python3\Exercise\venv\Scripts\python.exe E:/Python3/Exercise/venv/02.py
<class 'dict'> : {
    
    'aa': 1, 'bb': 2, 'cc': 3}
Process finished with exit code 0

2.3.5マッピング可能なオブジェクトとキーワードパラメータを同時に使用して辞書を作成する

コンストラクターを使用するクラスdict(マッピング、** kwarg)

if __name__ == "__main__":
  d = {
    
    'aa': 1, 'bb': 2, 'cc': 3}
  dsk = dict(d, name='wzc', age = 30, sex = 'male')
  print(type(dsk), ':' , dsk)

出力:

E:\Python3\Exercise\venv\Scripts\python.exe E:/Python3/Exercise/venv/02.py
<class 'dict'> : {
    
    'aa': 1, 'bb': 2, 'cc': 3, 'name': 'wzc', 'age': 30, 'sex': 'male'}
Process finished with exit code 0

2.3.6反復可能なデータオブジェクトとキーワードパラメータを使用して辞書を作成する

コンストラクターを使用するクラスdict(iterable、** kwarg)

if __name__ == "__main__":
  lst = [('a',2), ('b',4), ('c', 5)]
  dsk = dict(lst, name = 'wzc', age = 30, sex = 'male')
  print(type(dsk), ':' , dsk)

出力:

E:\Python3\Exercise\venv\Scripts\python.exe E:/Python3/Exercise/venv/02.py
<class 'dict'> : {
    
    'a': 2, 'b': 4, 'c': 5, 'name': 'wzc', 'age': 30, 'sex': 'male'}
Process finished with exit code 0

【前のページ】【次のページ】

おすすめ

転載: blog.csdn.net/wzc18743083828/article/details/109759092