In [1]:
d = {'k1': 1, 'k2': 2, 'k3': 3}
print(d)


{'k1': 1, 'k2': 2, 'k3': 3}

In [2]:
d = {'k1': 1, 'k2': 2, 'k3': 3, 'k3': 300}
print(d)


{'k1': 1, 'k2': 2, 'k3': 300}

In [3]:
d = dict(k1=1, k2=2, k3=3)
print(d)


{'k1': 1, 'k2': 2, 'k3': 3}

In [4]:
d = dict([('k1', 1), ('k2', 2), ('k3', 4)])
print(d)


{'k1': 1, 'k2': 2, 'k3': 4}

In [5]:
d = dict((['k1', 1], ['k2', 2], ['k3', 4]))
print(d)


{'k1': 1, 'k2': 2, 'k3': 4}

In [6]:
d = dict([{'k1', 1}, {'k2', 2}, {'k3', 4}])
print(d)


{1: 'k1', 2: 'k2', 'k3': 4}

In [7]:
keys = ['k1', 'k2', 'k3']
values = [1, 2, 3]

d = dict(zip(keys, values))
print(d)


{'k1': 1, 'k2': 2, 'k3': 3}

In [8]:
d_other = {'k10': 10, 'k100': 100}

In [9]:
d = dict(d_other)
print(d)


{'k10': 10, 'k100': 100}

In [10]:
print(d == d_other)


True

In [11]:
print(d is d_other)


False

In [12]:
l = ['Alice', 'Bob', 'Charlie']

In [13]:
d = {s: len(s) for s in l}
print(d)


{'Alice': 5, 'Bob': 3, 'Charlie': 7}

In [14]:
keys = ['k1', 'k2', 'k3']
values = [1, 2, 3]

d = {k: v for k, v in zip(keys, values)}
print(d)


{'k1': 1, 'k2': 2, 'k3': 3}

In [15]:
d = {k: v for k, v in zip(keys, values) if v % 2 == 1}
print(d)


{'k1': 1, 'k3': 3}

In [16]:
d1 = {'k1': 1, 'k2': 2}
d2 = {'k3': 3, 'k4': 4}

In [17]:
d = {**d1, **d2}
print(d)


{'k1': 1, 'k2': 2, 'k3': 3, 'k4': 4}

In [18]:
print(d1)


{'k1': 1, 'k2': 2}

In [19]:
print(d2)


{'k3': 3, 'k4': 4}

In [20]:
print({**d1, **d2, 'k5': 5})


{'k1': 1, 'k2': 2, 'k3': 3, 'k4': 4, 'k5': 5}

In [21]:
d3 = {'k5': 5, 'k6': 6}

In [22]:
print({**d1, **d2, **d3})


{'k1': 1, 'k2': 2, 'k3': 3, 'k4': 4, 'k5': 5, 'k6': 6}

In [23]:
d4 = {'k1': 100, 'k3': 300}

In [24]:
print({**d1, **d2, **d3, **d4, 'k5': 500})


{'k1': 100, 'k2': 2, 'k3': 300, 'k4': 4, 'k5': 500, 'k6': 6}

In [25]:
d1 = {'k1': 1, 'k2': 2}
d2 = {'k3': 3, 'k4': 4}

In [26]:
# d = dict(d1, d2)
# TypeError: dict expected at most 1 arguments, got 2

In [27]:
d = dict(**d1, **d2)
print(d)


{'k1': 1, 'k2': 2, 'k3': 3, 'k4': 4}