I want to pass values (as variables) between different functions.
For example, I assign values to a list in one function, then I want to use that list in another function:
list = []
def defineAList():
list = ['1','2','3']
print "For checking purposes: in defineAList, list is",list
return list
def useTheList(list):
print "For checking purposes: in useTheList, list is",list
def main():
defineAList()
useTheList(list)
main()
I would expect this to do as follows:
- Initialize 'list' as an empty list; call main (this, at least, I know I've got right...)
- Within defineAList(), assign certain values into the list; then pass the new list back into main()
- Within main(), call useTheList(list)
- Since 'list' is included in the parameters of the useTheList function, I would expect that useTheList would now use the list as defined by defineAList(), NOT the empty list defined before calling main.
However, my output is:
For checking purposes: in defineAList, list is ['1', '2', '3']
For checking purposes: in useTheList, list is []
"return" does not do what I expected. What does it actually do? How do I take the list from defineAList() and use it within useTheList()?
I don't want to use global variables.