Python словарь как функция? - PullRequest
       17

Python словарь как функция?

0 голосов
/ 22 февраля 2020

У меня проблемы со словарем в Python. Я создаю его как функцию return:

def dic():
    return {}

Когда я пытаюсь обновить его, например, в main (), он не обновляется и остается пустым.

def main():
    dic().update({'a':1,'b':2})
    print(dic())

Это возвращает пустой словарь. Что я делаю неправильно? Спасибо!

Ответы [ 2 ]

2 голосов
/ 22 февраля 2020

Вы используете print(dic())

Это запустит эту функцию снова и вернет {}

Так что вы должны использовать это

def dic():
    return {}

b = dic()
b.update({"a":1,"b":2})
print(b)

И b равно {'a': 1, 'b': 2}

0 голосов
/ 22 февраля 2020
dictionary={}
def dic(dict, terms,values):
    return dict.update({terms:values})

def main():
    dic(dictionary, "a",1)
    dic(dictionary,"b",2)
    print(dictionary)


main()
...