d = {}
print(d, type(d))

d[1] = 5
d[1.0] = 6
d["1"] = 7
d[b"1"] = 8
d[(3,4,0)] = 'the best'
print(d, type(d))

d[{3,4,0}] = 'this crashes, sets are mutable and thus not hashable'
d[[3,4,0]] = 'this crashes, lists are mutable and thus not hashable'
d[d] = 'this crashes, dicts are mutable and thus not hashable'

# bonus!
mylist = [1,2,3]
mylist[1] = mylist
print(mylist)
print(mylist[1])
print(mylist[1][1])
print(mylist[1][1][0])

mydict = {1:2, 3:4}
mydict[5] = mydict
print(mydict)