# SPDX-License-Identifier: MIT
print(dict(), dict([]), dict(()))
print(dict(alpha=1, beta=2))
print(dict([('a', 1), ('a', 3), ('b', 2)]))
print(dict(((1, 'one'), (2, 'two'))))
base = {'a': 1, 'b': 2}
print(dict(base, b=20, c=3), base)
print(dict(base.items()))
print({**base, 'a': 10, 'c': 3, **{'b': 20, 'd': 4}})
print(base.update([('b', 20), ('c', 3)], a=10, d=4))
print(base)
print(base.update(), base.update(()), base)
while base:
    print(base.popitem())
try:
    base.popitem()
except KeyError as error:
    print(str(error), repr(error))
try:
    {}.popitem()
except KeyError:
    print('empty')
try:
    dict([('a', 1, 2)])
except ValueError:
    print('invalid pair')
source = {'a': 1}
def argument():
    source['a'] = 9
    return 2
print(dict(source, b=argument()))
print({None: 'none'}, {True: 'yes', False: 'no'})
print({None: 'none'}[None], {True: 'yes'}[True])
