Pythonの辞書(''Dictionary'')は、任意個のキーとコレクションです。
[https://paiza.io/projects/fnbjyIZnkWhfNcXQ82ufEA?language=python3 リストリテラル]:
print(f"""\
{ {}=}
{ dict()=}
{ dict(((1, 1),(2, 4),(3,9)))=}
{ dict((i,2**i) for i in range(5))=}
{ {i:2**i for i in range(5)}=}
{ {10,"ABC", 20, "XYZ"}=}
{ {1:"one", 2:"two",3:"three"}=}
{ {
    1: "壱",
    2: "弐",
    3: "参"
    }=}
""")
実行結果:
{}={}
 dict()={}
 dict(((1, 1),(2, 4),(3,9)))={1: 1, 2: 4, 3: 9}
 dict((i,2**i) for i in range(5))={0: 1, 1: 2, 2: 4, 3: 8, 4: 16}
 {i:2**i for i in range(5)}={0: 1, 1: 2, 2: 4, 3: 8, 4: 16}
 {10,"ABC", 20, "XYZ"}={10, 'XYZ', 'ABC', 20}
 {1:"one", 2:"two",3:"three"}={1: 'one', 2: 'two', 3: 'three'}
 {
    1: "壱",
    2: "弐",
    3: "参"
    }={1: '壱', 2: '弐', 3: '参'}
空の辞書は、空の辞書リテラル {} あるいはコンストラクターである組込み関数dict()を引数無しで呼出し生成します。
dict()の引数は、キーと値をを要素とするコレクションを要素とするコレクションです（文章だとややこしいですが、dict(((1, 1),(2, 4),(3,9)))=={1: 1, 2: 4, 3: 9}です）。
辞書にも内包表記があります（{i:2**i for i in range(5)}=={0: 1, 1: 2, 2: 4, 3: 8, 4: 16}）。
辞書リテラルは、キーと値を : で区切ったペアをカンマ , で区切り、全体を { } で囲みます（: を , と間違えると（エラーにならず）セット（集合）のリテラルになり、気が付き遅れがちです。逆に {} を空集合∅のつもりで書き、辞書であることに気づかないケースもあります）。
Pythonでは、辞書のキーの重複は許されず、最後の値で上書きされます。
これは辞書リテラルにも当てはまり、同じキーの最も右の値がリテラル内のキーの値となります{{Cite web
|url=https://docs.python.org/3/reference/expressions.html#dictionary-displays
|title=Python 3.10.6 Documentation » The Python Language Reference » 6. Expressions » 6.2.7. Dictionary displays
|accessdate=2022-08-10
|quote=If a comma-separated sequence of key/datum pairs is given, they are evaluated from left to right to define the entries of the dictionary: each key object is used as a key into the dictionary to store the corresponding datum. This means that you can specify the same key multiple times in the key/datum list, and the final dictionary’s value for that key will be the last one given.
----
カンマで区切られた一連のキー/データペアが与えられると、それらは左から右へと評価されて辞書のエントリーを定義します。各キーオブジェクトは、対応するデータを格納する辞書のキーとして使用されます。つまり、key/datumリストで同じキーを複数回指定しても、そのキーに対する最終的な辞書の値は、最後に指定されたものになります。
。
[https://paiza.io/projects/h1THUneTs4yTk-kzEwIEFQ?language=python3 キーが重複した辞書リテラル]:
dic = {"国語": 80, "氏名": "山田タロウ", "国語": 70 }
print(dic["国語"])
print(dic)
実行結果
70
{'国語': 70, '氏名': '山田タロウ'}
Pythinの辞書は順位を保存するので、重複したキーの効果の痕跡が順位に出ています。
[https://paiza.io/projects/OojNp1OYCq9Gou16EyIzqQ?language=python3 辞書のフィールド一覧]:
obj = dict()
for i in dir(obj):
    print(i, eval(f"type({obj}.{i})"))
実行結果:
__class__ 
__contains__ 
__delattr__ 
__delitem__ 
__dir__ 
__doc__ 
__eq__ 
__format__ 
__ge__ 
__getattribute__ 
__getitem__ 
__gt__ 
__hash__ 
__init__ 
__init_subclass__ 
__iter__ 
__le__ 
__len__ 
__lt__ 
__ne__ 
__new__ 
__reduce__ 
__reduce_ex__ 
__repr__ 
__reversed__ 
__setattr__ 
__setitem__ 
__sizeof__ 
__str__ 
__subclasshook__ 
clear 
copy 
fromkeys 
get 
items 
keys 
pop 
popitem 
setdefault 
update 
values