return
возвращает значение. Неважно, какое имя вы дали этой ценности. Вернувшись, он просто «передает это», чтобы что-то еще могло его использовать. Если вы хотите использовать его, вы должны захватить его извне:
lst = defineAList()
useTheList(lst)
Возврат list
изнутри defineAList
не означает, что «сделайте так, чтобы вся остальная часть программы могла использовать эта переменная ". Это означает «передать эту переменную и дать остальной программе шанс захватить ее и использовать». Вам нужно назначить это значение чему-либо вне функции, чтобы использовать его. Кроме того, из-за этого нет необходимости заранее определять свой список с помощью list = []
. Внутри defineAList
вы создаете новый список и возвращаете его; этот список не имеет отношения к тому, который вы определили с помощью list = []
в начале.
Кстати, я сменил имя переменной с list
на lst
. Не рекомендуется использовать list
в качестве имени переменной, поскольку это уже имя встроенного типа Python. Если вы создадите собственную переменную с именем list
, вы больше не сможете получить доступ к встроенному.