辞書
辞書はC言語などでいうところの連想配列です。PHPでweb開発をしていた時、よく使いました。便利です。
j辞書はkeyとvalueで構成されます。
dic={key1:value1, key2:valule2,key3:value3}
辞書は例えばメールアドレス(唯一無二)にに対するメールアドレスの所有者のような関係を処理に有効です。この場合、メールアドレスがkeyとなります。
県と県庁所在地を使った超簡単なサンプル例です。

 # -*- coding: utf-8 -*-

def main():
    dic = {'tochigi':'utsunomiya', 'ibaraki':'mito', 'gunma':'maebashi'}
    print(dic)
    print(dic.get( 'ibaraki'))

if __name__ == "__main__":
    main()

事項結果:

{'tochigi': 'utsunomiya', 'ibaraki': 'mito', 'gunma': 'maebashi'}
mito
期待通りの結果です。

ネットで調べてみると辞書についての上記のような解説が多かったのですが、中学で最初のころなった単語haveは多くの意味がある。今までの説明では
have:持っている
これだけしかできない。おおいなる疑問、
Pythonの辞書は英和辞典的に使えないのか?
できます。valueを単一の文字列から、リストに変えればできます。


 # -*- coding: utf-8 -*-

def main():
    have = ['持っている', '身に着けている','置いている']
    take = ['取る', '捕らえる']
    english = {'take': take,'have': have}

    print(english)
    d = list(english.keys())
    d.sort()
    print(d)
    word = input('英単語を入力してください')
    jpn = english.get(word)
    no = 1
    for mean in jpn:
        print('{}.{}'.format(no, mean))
        no = no + 1

if __name__ == "__main__":
    main()
    
実行結果:

{'take': ['取る', '捕らえる'], 'have': ['持っている', '身に着けている', '置いている']}
['have', 'take']
英単語を入力してくださいhave
1.持っている
2.身に着けている
3.置いている

英和辞書のような処理ができました。