[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

> I expected this to return 3 but it only returned 1. > > matrix1 = [[1, -2], [-3, 4],] > matrix2 = [[2, -1], [0, -1]] > matrix3 = [[2, -1], [0, -1]] > > def add(*matrix): > print(len(locals())) > > print(add(matrix1, matrix2)) In this case, locals will be a dictionary with exactly one key. The key will be "matrix", and its value will be a tuple of the two matrices matrix1 and matrix2. One solution (the wrong solution) to your problem would be to instead have # Don't do this --- this is to illustrate what locals is doing def add(*matrix): print(len(locals()['matrix'])) Now let's get to the right way to do this. Python stores the arguments specified by *matrix as a tuple of the name `matrix`. Of course, this is what locals what telling us, but there is no need to go through locals. Instead, you can do def add(*matrix): print(len(matrix)) and this will tell you how many arguments were passed in. Good luck! David Lowry-Duda

- Prev by Date:
**Get Count of function arguments passed in** - Next by Date:
**Issue with Python installation** - Previous by thread:
**Get Count of function arguments passed in** - Next by thread:
**Get Count of function arguments passed in** - Index(es):