Python基本データ型(秩序辞書)
6321 ワード
1.一般辞書と秩序辞書の違い
区別:秩序辞書は通常の辞書と似ていますが、要素が挿入された順序を記録することができますが、一般的な辞書は任意の順序で反復します.簡単に言えば,forサイクルで取得したkvが一定の順序で取得されるかどうかである.
2.一般辞書
以上のように,取得したkvは,毎回異なる配列順序である.
3.秩序辞書
3.1整列挿入
以上のように、forループ反復取り出しにより、その挿入順に、順次取り出した
3.2事前定義
注意:以前はいくつかのブログを見て、秩序ある辞書は事前定義をサポートしていないと言っていましたが、実測すると、事前定義できることがわかりました.効果は以下の通りです.
以上のようにforループによって取り出されたkvも,その定義された順序で取り出されている.
区別:秩序辞書は通常の辞書と似ていますが、要素が挿入された順序を記録することができますが、一般的な辞書は任意の順序で反復します.簡単に言えば,forサイクルで取得したkvが一定の順序で取得されるかどうかである.
2.一般辞書
#
dic01 = {'name':'Tom','age':12,'gender':'male'}
print('dic01:',dic01)
'''
, k:v
:{'name': 'Tom', 'gender': 'male', 'age': 12}
:{'gender': 'male', 'name': 'Tom', 'age': 12}
:{'name': 'Tom', 'gender': 'male', 'age': 12}
'''
for k,v in dic01.items():
print(k,v) #
'''
gender male
name Tom
age 12
'''
以上のように,取得したkvは,毎回異なる配列順序である.
3.秩序辞書
3.1整列挿入
# 3.1
dic03 = OrderedDict()
dic03['a'] = 'A'
dic03['b'] = 'B'
dic03['c'] = 'C'
print('dic03:',dic03) # dic03: OrderedDict([('a', 'A'), ('b', 'B'), ('c', 'C')])
for k,v in dic03.items():
print(k,v)
'''
a A
b B
c C
'''
以上のように、forループ反復取り出しにより、その挿入順に、順次取り出した
3.2事前定義
注意:以前はいくつかのブログを見て、秩序ある辞書は事前定義をサポートしていないと言っていましたが、実測すると、事前定義できることがわかりました.効果は以下の通りです.
# 3.2
dic02 = OrderedDict(
[
('name','Jack'),
('age',14),
('gender','male')
]
)
print('dic02:',dic02) # OrderedDict([('name', 'Jack'), ('age', 14), ('gender', 'male')])
print(dic02['gender']) # male
for k,v in dic02.items():
print(k,v)
'''
name Jack
age 14
gender male
'''
以上のようにforループによって取り出されたkvも,その定義された順序で取り出されている.