# Creating a dictionary with integer keys and string values
dict1 = {1: 'red', 2: 'green', 3: 'blue'}
# Creating a dictionary with string keys and integer values
dict2 = {'red': 1, 'green': 2, 'blue': 3}
# Creating a dictionary with mixed data types
dict3 = {'name': 'John', 'age': 30, 'city': 'New York'}
# Creating an empty dictionary
dict4 = {}
# Creating a dictionary from a list of tuples
list1 = [('red', 1), ('green', 2), ('blue', 3)]
dict5 = dict(list1)
# Creating a dictionary from keyword arguments
dict6 = dict(red=1, green=2, blue=3)
# Accessing the value of the 'name' key in dict3
value = dict3['name']
# Accessing the value of the 2 key in dict1
value = dict1[2]
# Accessing the value of the 'city' key in dict3
value = dict3.get('city', 'unknown')
# Accessing the value of the 'country' key in dict3
value = dict3.get('country', 'unknown')
# Getting a list of all the keys in dict3
keys = dict3.keys()
# Getting a list of all the values in dict3
values = dict3.values()
# Printing the dictionaries
print(dict1)
print(dict2)
print(dict3)
print(dict4)
print(dict5)
print(dict6)
# Printing the value, keys, and values
print(value)
print(keys)
print(values)
# Determining the data type of a dictionary
print(type(dict1)) # prints "<class 'dict'>"