Python - ディクショナリーの整理と例

Dictionary(Dict)は key-value型のデータを持っているCollectionです。 他の言語では、Mapとが、PythonはDictionaryと呼ばれます。

この記事では、Dictを使用する方法について説明します。

Dictionary定義

Dictionary(dict)を定義するには、次のように { }key-value型のデータを入力します。

cities = {
    'Korea': 'Seoul',
    'Japan': 'Tokyo',
    "China": 'Beijing',
    'USA': 'Washington',
    'France': 'Paris'
}

もしデータがないdictを定義したい場合は { }でデータを定義しなければなります。

cities = {}

データアクセス

dictのデータをアクセスするには、次のように dict[key]または dict.get(key)でアクセスできます。

cities = {
    'Korea': 'Seoul',
    'Japan': 'Tokyo',
    "China": 'Beijing',
    'USA': 'Washington',
    'France': 'Paris'
}

print(cities)
print(cities['Korea'])
print(cities.get('Japan'))

Output:

{'Korea': 'Seoul', 'Japan': 'Tokyo', 'China': 'Beijing', 'USA': 'Washington', 'France': 'Paris'}
Seoul
Tokyo

データの変更

データを変更するには、次のようにすることができます。

cities['France'] = 'PARIS'
print(cities['France'])

Output:

PARIS

データの追加

データを追加することも、データを変更することと同じです。他の点は存在しないkeyに対してvalueを設定することです。

cities['Germany'] = 'Berlin'
print(cities)

Output:

{'Korea': 'Seoul', 'Japan': 'Tokyo', 'China': 'Beijing', 'USA': 'Washington', 'France': 'Paris', 'Germany': 'Berlin'}

データの削除

pop(key)でデータを削除することができます。

cities = {
    'Korea': 'Seoul',
    'Japan': 'Tokyo',
    "China": 'Beijing',
    'USA': 'Washington',
    'France': 'Paris'
}

removed = cities.pop('France')
print(removed)
print(cities)

Output:

Paris
{'Korea': 'Seoul', 'Japan': 'Tokyo', 'China': 'Beijing', 'USA': 'Washington'}

popitem

popitemは、最後に追加されたアイテムを削除します。(python 3.7以前のバージョンではrandomでアイテムを削除します)

removed = cities.popitem()
print(removed)
print(cities)

Output:

('France', 'Paris')
{'Korea': 'Seoul', 'Japan': 'Tokyo', 'China': 'Beijing', 'USA': 'Washington'}

del

delでアイテムを削除することもできます。

del cities['USA']
print(cities)

Output:

{'Korea': 'Seoul', 'Japan': 'Tokyo', 'China': 'Beijing', 'France': 'Paris'}

次のようにdictオブジェクトをすべて削除することができます。 削除された後にdictオブジェクトは存在しないため、アクセスするとエラーが発生します。

del cities

clear

clear()はdictに追加されたすべてのデータを削除します。 dictオブジェクトは削除されず、空の状態で残っています。

cities.clear()
print(cities)

Loop

次のように for inにすべてのアイテムを巡回することができます。

for country in cities:
    print(country)

Output:

Korea
Japan
China
USA
France

valueを出力したい場合は、次のようにします。

for country in cities.values():
    print(country)

Output:

Seoul
Tokyo
Beijing
Washington
Paris

keyとvalueの両方を巡回したい場合は、次のようにします。

for country, city in cities.items():
    print('country: {}, city: {}'.format(country, city))

Output:

country: Korea, city: Seoul
country: Japan, city: Tokyo
country: China, city: Beijing
country: USA, city: Washington
country: France, city: Paris

Key存在確認

次のように inを使用してdictにどのkeyが存在するかどうかを確認することができます。

if "China" in cities:
    print("China is in the cities")

if "Thailand" not in cities:
    print("Thailand is not in the cities")

Output:

China is in the cities
Thailand is not in the cities

Length

len()でdictの長さを計算することができます。

print(len(cities))

Copy

次のように copy()を利用して、dictオブジェクトをコピーすることができます。

cities = {
    'Korea': 'Seoul',
    'Japan': 'Tokyo',
    "China": 'Beijing',
    'USA': 'Washington',
    'France': 'Paris'
}

copied = cities.copy()
copied['Germany'] = 'Berlin'
print(cities)
print(copied)

Output:

{'Korea': 'Seoul', 'Japan': 'Tokyo', 'China': 'Beijing', 'USA': 'Washington', 'France': 'Paris'}
{'Korea': 'Seoul', 'Japan': 'Tokyo', 'China': 'Beijing', 'USA': 'Washington', 'France': 'Paris', 'Germany': 'Berlin'}

または、 dict()を利用して、オブジェクトをコピーすることができます。

copied = dict(cities)
copied['Germany'] = 'Berlin'
print(cities)
print(copied)

Related Posts

codechachaCopyright ©2019 codechacha