Вам нужно return
от функции.
Когда вы выполняете newDict = dict(zip(dict1, dict2))
внутри функции, создается новый словарь, область действия которого является локальной для функции и недоступна извне.
Если вы, скорее всего, будете использовать этот словарь вне функции, предложенный способ - вернуть новый словарь вызывающей стороне, как только функция будет выполнена.
dict1 = ['aa','bb','cc','dd']
dict2 = ['11','22','33','44']
def map_lists(Dict1, Dict2):
newDict = dict(zip(dict1, dict2))
return newDict
newDict = map_lists(dict1, dict2)
print(newDict)
Или,есть еще один способ, который я не буду рекомендовать, но только к вашему сведению.
dict1 = ['aa','bb','cc','dd']
dict2 = ['11','22','33','44']
def map_lists(Dict1, Dict2):
global newDict
newDict=dict(zip(dict1, dict2))
map_lists(dict1, dict2)
print(newDict)
global
не рекомендуется использовать, поскольку это не очень хорошая практика программирования на любом языке.